public string TextToJSON(string Text) { try { Dictionary <string, object> Datos = new Dictionary <string, object>(); Dictionary <string, object> CurrentDictionary = null; foreach (string Line in Text.Split('\n')) { Console.WriteLine(Line); if (Line.Trim().StartsWith("[")) { string Header = Line.Replace("[", "").Replace("]", "").Trim(); CurrentDictionary = new Dictionary <string, object>(); if (!Datos.ContainsKey(Header)) { Datos.Add(Header, CurrentDictionary); } } else if (Line.Contains("|")) { string[] data = Line.Split('='); string[] values = data[1].Split('|'); var TempDictionary = new Dictionary <string, object>(); foreach (string value in values) { var subvalues = value.Split('&'); TempDictionary.Add(subvalues[0].Trim(), subvalues[1].Trim()); } CurrentDictionary.Add(data[0].Trim(), TempDictionary); } else if (Line.Contains("=")) { string[] data = Line.Split('='); if (CurrentDictionary.ContainsKey(data[0])) { int count = CurrentDictionary.Keys.Count <string>(x => x.Contains(data[0])); CurrentDictionary.Add(data[0].Trim() + count, data[1]?.Trim()); } else { CurrentDictionary.Add(data[0].Trim(), data[1]?.Trim()); } } } return(NASA.PROCNASA.BusinessLayer.CLS_Json.SerializeObject(Datos)); } catch (Exception ex) { throw new Exception(string.Format("TextToJSON: {0}", ex.Message)); } }
public void AddElement(AnyTransportClass element, string name) { try { CurrentDictionary.Add(name, element); foreach (Selector dependency in Dependencies) { if (!dependency.Items.Contains(name)) { dependency.Items.Add(name); // dependency.Items.Refresh(); } } } catch { throw new Exception($"Element {name} already exists"); } }