private Cooler[] findCoolers() { Cooler[] answer; if (direct) { string coolerFile = Path.Combine(dataDir, "Coolers.xml"); string coolerSchema = Path.Combine(schemaDir, "Coolers.xsd"); CoolerCollection coolers = new CoolerCollection(coolerFile, coolerSchema); answer = new Cooler[coolers.Count]; for (int i = 0; i < coolers.Count; i++) { answer[i] = (Cooler)coolers[i]; } } else { DesktopClient.CoolIt_Service.Cooler[] rawCoolers = webService.GetCoolers(); answer = new Cooler[rawCoolers.Length]; InputPowerCalculator calc = getInputPowerCalc(); for (int i = 0; i < rawCoolers.Length; i++) { DesktopClient.CoolIt_Service.Cooler raw = rawCoolers[i]; List <DataPoint> data = new List <DataPoint>(); for (int j = 0; j < raw.CPM.Length; j++) { DesktopClient.CoolIt_Service.DataPoint rawPoint = raw.CPM[j]; DataPoint point = new DataPoint(rawPoint.temp, rawPoint.data); data.Add(point); } answer[i] = new Cooler(raw.Name, raw.id, data, raw.price, raw.priceUnit, raw.currencyUnit); answer[i].InputPowerCalculator = calc; } } return(answer); }
/// <summary> /// Get a list of coolers from the serivce provider /// </summary> /// <returns>The list of coolers</returns> private Material[] findMaterials() { Material[] answer; if (direct) { string materialsFile = Path.Combine(dataDir, "Materials.xml"); string materialsSchema = Path.Combine(schemaDir, "Materials.xsd"); MaterialsCollection materials = new MaterialsCollection(materialsFile, materialsSchema); answer = new Material[materials.Count]; for (int i = 0; i < materials.Count; i++) { answer[i] = (Material)materials[i]; } } else { DesktopClient.CoolIt_Service.Material[] rawMaterials = webService.GetMaterials(); answer = new Material[rawMaterials.Length]; for (int i = 0; i < rawMaterials.Length; i++) { DesktopClient.CoolIt_Service.Material raw = rawMaterials[i]; List <DataPoint> data = new List <DataPoint>(); for (int j = 0; j < raw.MP.Length; j++) { DesktopClient.CoolIt_Service.DataPoint rawPoint = raw.MP[j]; DataPoint point = new DataPoint(rawPoint.temp, rawPoint.data); data.Add(point); } if (raw.IntegratedThermalConductivity == null) { answer[i] = new Material(raw.Name, raw.id, raw.yieldStrength, data, null, raw.price, raw.priceUnit, raw.currencyUnit); } else { List <DataPoint> integratedThermalConductivity = new List <DataPoint>(); for (int j = 0; j < raw.IntegratedThermalConductivity.Length; j++) { DesktopClient.CoolIt_Service.DataPoint rawPoint = raw.IntegratedThermalConductivity[j]; DataPoint point = new DataPoint(rawPoint.temp, rawPoint.data); integratedThermalConductivity.Add(point); } answer[i] = new Material(raw.Name, raw.id, raw.yieldStrength, data, integratedThermalConductivity, raw.price, raw.priceUnit, raw.currencyUnit); } } } return(answer); }