Пример #1
0
        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));
        }
Пример #2
0
        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));
        }