namespace CommonConsole { using Common.Hardware.SIRT; using LaaPackages.SqlClient; using System; using System.Collections.Generic; using System.Linq; public static class Program { private static Dictionary> sizes = new Dictionary>(); public static void Main() { SqlConnection .CreateSqlConnection("Server=SLASQL01.emea.sensus.net; Database=Auftrag; User ID=sa; Password=sqlserver;") .CreateCommand(@" SELECT DISTINCT erg.DEBUG , ems.Metersize , vmm.Wert FROM eRegister AS erg JOIN AuftragPositionSerienNr AS aps ON erg.Seriennummer = aps.SerienNr JOIN AlleAuftragPositionen AS aap ON aps.AuftragNr = aap.AuftragNr AND aps.PositionNr = aap.PositionNr JOIN eRegister_Auftragposition AS eap ON aap.FertigungsauftragNr = eap.FertigungsauftragNr JOIN eRegister_Metersize AS ems ON eap.Meter_Size_Id = ems.Id JOIN Identnr AS idn ON aap.IdentNr = idn.IdentNr JOIN VAKO_Merkmale AS vmm ON SUBSTRING(idn.VakoCode, 1, LEN(vmm.Basis)) = vmm.Basis AND vmm.Basis = 'MS' AND vmm.Stelle = 5 AND vmm.Laenge = 1 AND SUBSTRING(idn.VakoCode, 5, 1) = vmm.Charcode WHERE erg.DEBUG IS NOT NULL AND SUBSTRING(erg.DEBUG, 1, 2) = '0B' ORDER BY ems.Metersize") .ExecuteReader(ParseMeterSize); Console.WriteLine(string.Join(Environment.NewLine, sizes.SelectMany(x => x.Value.Select(y => $"DN {x.Key,3} IN {y.Key,3} OUT {y.Value,3}")))); } private static void ParseMeterSize(SqlReader reader) { var debug = reader .GetValue(0) ?.GetBytes() ?? Array.Empty(); if (debug.Length > 0) { var debugMeterSize = debug[37]; var meterSize = reader.GetValue(1); var nennweite = reader.GetValue(2); if (!sizes.ContainsKey(nennweite)) { sizes[nennweite] = new Dictionary(); } sizes[nennweite][meterSize] = debugMeterSize; } } //public static void Main() //{ // var addresses = new HashSet // { // 2000000002, 2000000002, // 1000000011, 1000000011, // 1000000012, 1000000012, // 1000000013, 1000000013, // 4291631647, 2000000014, // 2000000001, 2000000001, // 1000000002, 1000000002, // 1000000003, 1000000003, // 1000000004, 1000000004, // 1000000005, 1000000005, // 1000000006, 1000000006, // 1000000007, 1000000007, // 1000000008, 1000000008, // 1000000009, 1000000009, // 1100000010, 1100000010, // }; // var sirtBroadcaster = new SIRTBroadcaster("COM6"); // sirtBroadcaster.Logging += Console.WriteLine; // //sirtBroadcaster.MessageReceived += msg => // //{ // // Console.WriteLine(msg.Address); // //}; // sirtBroadcaster.Activated += () => // { // foreach (var address in addresses) // { // sirtBroadcaster.EnqueueTask(new EregisterTask(868) // { // EncryptionKey = "E6C88800DEB868C0D6A84880CE982840".GetEncryptionKey(), // RequestAddress = address, // P1 = new P811 // { // DelPamSemi = true, // }, // Cmd = SIRTMessage.W_PAM, // Data = new OpticalTelegram // { // Minutes = 1 // } // .Append(new ProvidePin // { // AuthLevel = AuthLevel.III // }) // .ToByteArray(), // //Data = new ChangeWakeUp // //{ // // WakeUpMode = WakeUpMode.SleepAutoOn // //} // //.Append(new ChangeTransmissionInterval // //{ // // Seconds = 3 // //}) // //.Append(new ChangeNumberOfLatWindows // //{ // // N = 0 // //}) // //.Append(new ProvidePin // //{ // // AuthLevel = AuthLevel.II // //}) // //.ToByteArray() // }); // } // }; // sirtBroadcaster.Open(); // Console.ReadKey(); // sirtBroadcaster.Close(); //} } }