public void CreateMeasuresFolderStructure() { string measureFolder = ApplicationManager.Instance.GetMeasuresFolder(); string aa = "http://bcl.nrel.gov/api/taxonomy/measure"; taxonomy result = DownloadAndDeserializeJsonData <taxonomy>(aa); ultraTree1.DataSource = result.term; }
public void CreateMeasuresFolderStructure() { string measureFolder = ApplicationManager.Instance.GetMeasuresFolder(); string aa = "http://bcl.nrel.gov/api/taxonomy/measure"; taxonomy result = DownloadAndDeserializeJsonData <taxonomy>(aa); if (result != null) { IEnumerable <string> measureFiles = Directory.EnumerateFiles(measureFolder, "measure.xml", SearchOption.AllDirectories); List <measure> measures = new List <measure>(); foreach (string measureFilePath in measureFiles) { measure m = null; try { m = XMLHelper.Deserialize <measure>(File.ReadAllText(measureFilePath)); } catch (Exception ex) { } if (m != null) { //SimulationMeasureType measureType = SimulationMeasureType.None; //foreach (var item in m.attributes) //{ // if (item?.name == "Measure Type" && Enum.TryParse<SimulationMeasureType>(item.value, out measureType)) // { // m.MeasureType = measureType; // break; // } //} measures.Add(m); } } List <SimulationMeasure> simulationMeasures = new List <SimulationMeasure>(); foreach (Term term in result.term) { SimulationMeasure measureCategory = new SimulationMeasure(); measureCategory.Name = term.name; measureCategory.Description = term.description; simulationMeasures.Add(measureCategory); if (term.term?.Count > 0) { measureCategory.Measures = new List <SimulationMeasure>(); foreach (Term childTerm in term.term) { SimulationMeasure childCategory = new SimulationMeasure(); childCategory.Name = childTerm.name; childCategory.Description = childTerm.description; measureCategory.Measures.Add(childCategory); string measureTag = string.Format("{0}.{1}", term.name, childTerm.name); List <measure> termMeasures = measures.Where(m => m.tags.tag == measureTag).ToList(); if (termMeasures?.Count > 0) { childCategory.Measures = new List <SimulationMeasure>(); foreach (measure simMeausre in termMeasures) { SimulationMeasure termMeasure = new SimulationMeasure(); termMeasure.Name = simMeausre.name; termMeasure.Description = simMeausre.description; SimulationMeasureType measureType = SimulationMeasureType.None; foreach (var item in simMeausre.attributes) { if (item?.name == "Measure Type" && Enum.TryParse <SimulationMeasureType>(item.value, out measureType)) { termMeasure.Type = measureType; break; } } childCategory.Measures.Add(termMeasure); } } } } } measuresTreeView.DataSource = simulationMeasures; } }