Example #1
0
        async void CreateConfigFile(string setting, string dragoConnexCode)
        {
            var dialog = new CommonOpenFileDialog();

            dialog.IsFolderPicker = true;
            CommonFileDialogResult result = dialog.ShowDialog();

            if (result == CommonFileDialogResult.Ok)
            {
                var configFolder = $"{dialog.FileName} \\Config {dragoConnexCode}\\";
                Directory.CreateDirectory(configFolder);

                Dictionary <string, string> dict = JsonConvert.DeserializeObject <Dictionary <string, string> >(setting);
                string toWrite = "";
                foreach (var item in dict.Reverse().Skip(2).Reverse())
                {
                    if (string.IsNullOrEmpty(item.Value))
                    {
                        toWrite += "\"" + Environment.NewLine;
                    }
                    else
                    {
                        if (!item.Key.Equals("AlarmSetting") || !item.Key.Equals("AMRSetting"))
                        {
                            toWrite += item.Value + Environment.NewLine;
                        }
                    }
                }

                toWrite  = toWrite.Remove(toWrite.Length - 1);
                toWrite += Environment.NewLine;
                File.WriteAllText(configFolder + "NETWORK.csv", toWrite);
                MeterProvider MeterProvider = new MeterProvider();
                toWrite = "";
                var meters = await MeterProvider.GetMetersAsync("http://dragoservices.azurewebsites.net/api/DragoAdmin/Meters/DragoConnex/" + dragoConnexCode);

                if (meters != null)
                {
                    foreach (var meter in meters)
                    {
                        Dictionary <string, string> dictMeter = JsonConvert.DeserializeObject <Dictionary <string, string> >(meter.MeterSetting);
                        foreach (var item in dictMeter)
                        {
                            toWrite += item.Value + ",";
                        }

                        toWrite  = toWrite.Remove(toWrite.Length - 1);
                        toWrite += Environment.NewLine;
                    }

                    File.WriteAllText(configFolder + "METER.csv", toWrite);
                }
                var dictAlarmSetting = JsonConvert.DeserializeObject <Dictionary <string, string> >(dict["AlarmSetting"]);
                toWrite = "";
                foreach (var item in dictAlarmSetting)
                {
                    if (String.IsNullOrEmpty(item.Value))
                    {
                        toWrite += "0" + ",";
                    }
                    else
                    {
                        toWrite += item.Value + ",";
                    }
                }
                toWrite  = toWrite.Remove(toWrite.Length - 1);
                toWrite += Environment.NewLine;

                File.WriteAllText(configFolder + "ALARM.csv", toWrite);

                var dictAMRSetting = JsonConvert.DeserializeObject <Dictionary <string, string> >(dict["AMRSetting"]);
                toWrite = "";
                foreach (var item in dictAMRSetting)
                {
                    if (String.IsNullOrEmpty(item.Value))
                    {
                        toWrite += "0" + Environment.NewLine;
                    }
                    else
                    {
                        toWrite += item.Value + Environment.NewLine;
                    }
                }
                File.WriteAllText(configFolder + "AMR.csv", toWrite);
            }
        }