示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("SEDICAL CONCENTRADOR DE CONTADORES");

            Console.WriteLine("El archivo debe estar en formato valido JSON.");
            Console.WriteLine("Dime el nombre del archivo sin formato: ");
            string namePath = Console.ReadLine();

            var jsonString = File.ReadAllText(namePath + ".json");

            var obj = System.Text.Json.JsonSerializer.Deserialize <List <SedicalDAO> >(jsonString);

            var values = obj.Where(x => x.name.Equals("ValueDesc")).FirstOrDefault();

            var result = new List <SedicalO>();

            var data = values.columns.Where(x => x.name.Equals("LoggerLastValue")).FirstOrDefault();
            var name = obj.Where(x => x.name.Equals("Device")).FirstOrDefault().columns.Where(x => x.name.Equals("Name")).FirstOrDefault();

            if (values != null)
            {
                var indice   = 6;
                var name_ind = 6;
                do
                {
                    var sedical = new SedicalO
                    {
                        DireccionSecundaria = data.values[indice + 14].ToString(),
                        Nombre               = name.values[name_ind].ToString(),
                        EnergiaActual        = data.values[indice].ToString(),
                        VolumenActual        = data.values[indice + 2].ToString(),
                        VolumenInput1_Actual = data.values[indice + 7].ToString(),
                        VolumenInput2_Actual = data.values[indice + 10].ToString(),
                        TemperaturaImpulsion = data.values[indice + 15].ToString(),
                        TemperaturaRetorno   = data.values[indice + 16].ToString(),
                        CaudalInstantaneo    = data.values[indice + 17].ToString(),
                        PotenciaInstantanea  = data.values[indice + 18].ToString(),
                        HorasFuncionamiento  = data.values[indice + 20].ToString(),
                        EnergiaMes           = new List <string>(),
                        Input1Mes            = new List <string>(),
                        Input2Mes            = new List <string>(),
                    };

                    for (int i = 0; i < 18; i++)
                    {
                        sedical.EnergiaMes.Add(data.values[indice + 22 + i].ToString());
                        sedical.Input1Mes.Add(data.values[indice + 60 + i].ToString());
                        sedical.Input2Mes.Add(data.values[indice + 78 + i].ToString());
                    }

                    result.Add(sedical);
                    indice += 96;
                    name_ind++;
                } while (data.values.Count() > indice);

                var jsonstring = System.Text.Json.JsonSerializer.Serialize(result);
                jsonToCSV(jsonstring, " ");
            }
            Console.WriteLine("Pulsa cualquier tecla para finalizar.");
            Console.WriteLine("FINIQUITADO!");
            Console.ReadLine();
        }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("SEDICAL CONCENTRADOR DE CONTADORES");

            Console.WriteLine("El archivo debe estar en formato valido JSON.");
            Console.WriteLine("Dime el nombre del archivo sin formato: ");
            string namePath = Console.ReadLine();

            var jsonString = File.ReadAllText(namePath + ".json");

            var obj = System.Text.Json.JsonSerializer.Deserialize <List <SedicalDAO> >(jsonString);

            var values = obj.Where(x => x.name.Equals("ValueDesc")).FirstOrDefault();

            var result = new List <SedicalO>();

            var data = values.columns.Where(x => x.name.Equals("LoggerLastValue")).FirstOrDefault();
            var name = obj.Where(x => x.name.Equals("Device")).FirstOrDefault().columns.Where(x => x.name.Equals("Name")).FirstOrDefault();

            if (values != null)
            {
                var indice   = 6;
                var name_ind = 6;
                do
                {
                    var sedical = new SedicalO
                    {
                        DireccionSecundaria = data.values[indice + 14].ToString(),
                        Nombre               = name.values[name_ind].ToString(),
                        EnergiaActual        = data.values[indice].ToString(),
                        VolumenActual        = data.values[indice + 2].ToString(),
                        VolumenInput1_Actual = data.values[indice + 7].ToString(),
                        VolumenInput2_Actual = data.values[indice + 10].ToString(),
                        TemperaturaImpulsion = data.values[indice + 15].ToString(),
                        TemperaturaRetorno   = data.values[indice + 16].ToString(),
                        CaudalInstantaneo    = data.values[indice + 17].ToString(),
                        PotenciaInstantanea  = data.values[indice + 18].ToString(),
                        HorasFuncionamiento  = data.values[indice + 20].ToString(),
                        EnergiaMes1          = data.values[indice + 22].ToString(),
                        EnergiaMes2          = data.values[indice + 23].ToString(),
                        EnergiaMes3          = data.values[indice + 24].ToString(),
                        EnergiaMes4          = data.values[indice + 25].ToString(),
                        EnergiaMes5          = data.values[indice + 26].ToString(),
                        EnergiaMes6          = data.values[indice + 27].ToString(),
                        EnergiaMes7          = data.values[indice + 28].ToString(),
                        EnergiaMes8          = data.values[indice + 29].ToString(),
                        EnergiaMes9          = data.values[indice + 30].ToString(),
                        EnergiaMes10         = data.values[indice + 31].ToString(),
                        EnergiaMes11         = data.values[indice + 32].ToString(),
                        EnergiaMes12         = data.values[indice + 33].ToString(),
                        EnergiaMes13         = data.values[indice + 34].ToString(),
                        EnergiaMes14         = data.values[indice + 35].ToString(),
                        EnergiaMes15         = data.values[indice + 36].ToString(),
                        EnergiaMes16         = data.values[indice + 37].ToString(),
                        EnergiaMes17         = data.values[indice + 38].ToString(),
                        EnergiaMes18         = data.values[indice + 39].ToString(),
                        Input1Mes1           = data.values[indice + 60].ToString(),
                        Input1Mes2           = data.values[indice + 61].ToString(),
                        Input1Mes3           = data.values[indice + 62].ToString(),
                        Input1Mes4           = data.values[indice + 63].ToString(),
                        Input1Mes5           = data.values[indice + 64].ToString(),
                        Input1Mes6           = data.values[indice + 65].ToString(),
                        Input1Mes7           = data.values[indice + 66].ToString(),
                        Input1Mes8           = data.values[indice + 67].ToString(),
                        Input1Mes9           = data.values[indice + 68].ToString(),
                        Input1Mes10          = data.values[indice + 69].ToString(),
                        Input1Mes11          = data.values[indice + 70].ToString(),
                        Input1Mes12          = data.values[indice + 71].ToString(),
                        Input1Mes13          = data.values[indice + 72].ToString(),
                        Input1Mes14          = data.values[indice + 73].ToString(),
                        Input1Mes15          = data.values[indice + 74].ToString(),
                        Input1Mes16          = data.values[indice + 75].ToString(),
                        Input1Mes17          = data.values[indice + 76].ToString(),
                        Input1Mes18          = data.values[indice + 77].ToString(),
                        Input2Mes1           = data.values[indice + 78].ToString(),
                        Input2Mes2           = data.values[indice + 79].ToString(),
                        Input2Mes3           = data.values[indice + 80].ToString(),
                        Input2Mes4           = data.values[indice + 81].ToString(),
                        Input2Mes5           = data.values[indice + 82].ToString(),
                        Input2Mes6           = data.values[indice + 83].ToString(),
                        Input2Mes7           = data.values[indice + 84].ToString(),
                        Input2Mes8           = data.values[indice + 85].ToString(),
                        Input2Mes9           = data.values[indice + 86].ToString(),
                        Input2Mes10          = data.values[indice + 87].ToString(),
                        Input2Mes11          = data.values[indice + 88].ToString(),
                        Input2Mes12          = data.values[indice + 89].ToString(),
                        Input2Mes13          = data.values[indice + 90].ToString(),
                        Input2Mes14          = data.values[indice + 91].ToString(),
                        Input2Mes15          = data.values[indice + 92].ToString(),
                        Input2Mes16          = data.values[indice + 93].ToString(),
                        Input2Mes17          = data.values[indice + 94].ToString(),
                        Input2Mes18          = data.values[indice + 95].ToString(),
                    };


                    result.Add(sedical);
                    indice += 96;
                    name_ind++;
                } while (data.values.Count() > indice);

                var jsonstring = System.Text.Json.JsonSerializer.Serialize(result);
                jsonToCSV(jsonstring, " ");
            }
            Console.WriteLine("Pulsa cualquier tecla para finalizar.");
            Console.WriteLine("Completado");
            Console.ReadLine();
        }