public async Task <List <Models.Consumption> > GetConsumptionFromMeter(int meterID, DateTime fromDate) { List <Models.Consumption> consumptionList = new List <Models.Consumption>(); dataExport = new Eisight.DataExport.DataExportSoapClient(basicHttpBindingDataExport, basicendpointDataExport); //dataExport.CookieContainer = cookieContainer; if (fromDate < DateTime.Today.AddDays(-1)) { string meterCode = await GetSiteMeterCodeForMeter(meterID); double correctionFactor = await GetCorrectionFactor(meterID); Eisight.DataExport.ArrayOfXElement elementsDataExport = await dataExport.GetDataAsync(meterCode, fromDate, DateTime.Today.AddDays(-1), "Ex-Day_By_Date", false, true, true, true, "N"); DataSet data = new DataSet(); data.ReadXml(new System.IO.StringReader(data.ToString())); foreach (DataRow row in data.Tables[0].Rows) { consumptionList.Add(new Models.Consumption { RowNumber = int.Parse(row["XaxisValue"].ToString()), DateTime = DateTime.Parse(row["XaxisLabel"].ToString()), DayConsumption = !string.IsNullOrEmpty(row["Value"].ToString()) ? decimal.Multiply(decimal.Parse(row["Value"].ToString()), (decimal)correctionFactor) : 0 }); } consumptionList = consumptionList.OrderBy(o => o.RowNumber).ToList(); } return(await Task.FromResult(consumptionList)); }
public async Task <List <Models.Consumption> > GetLowHighConsumption(int meterID, DateTime fromDate) { List <Models.Consumption> consumptionList = new List <Models.Consumption>(); dataExport = new Eisight.DataExport.DataExportSoapClient(basicHttpBindingDataExport, basicendpointDataExport); if (fromDate < DateTime.Today.AddDays(-1)) { Eisight.DataExport.ArrayOfXElement elemntsDataExport = await dataExport.ElecContractAnalysisAsync(meterID, fromDate, DateTime.Today.AddDays(-1), 67, false); DataSet data = new DataSet(); data.ReadXml(new System.IO.StringReader(data.ToString())); double correctionFactor = await GetCorrectionFactor(meterID); foreach (DataRow row in data.Tables[0].Rows) { consumptionList.Add(new Models.Consumption { RowNumber = int.Parse(row["XaxisValue"].ToString()), DateTime = DateTime.Parse(row["XaxisLabel"].ToString()), DayConsumption = !string.IsNullOrEmpty(row[3].ToString()) ? decimal.Multiply(decimal.Parse(row[3].ToString()), (decimal)correctionFactor) : 0, NightConsumption = !string.IsNullOrEmpty(row[4].ToString()) ? decimal.Multiply(decimal.Parse(row[4].ToString()), (decimal)correctionFactor) : 0 }); } consumptionList = consumptionList.OrderBy(o => o.RowNumber).ToList(); } return(await Task.FromResult(consumptionList)); }