private MeterMonthWiseConsumptionModel GetMeterMonthWiseConsumption(IQueryable <MonthlyConsumptionDetails> monthlyConsumptionDetails)
        {
            MeterMonthWiseConsumptionModel meterMonthWiseConsumption = new MeterMonthWiseConsumptionModel();

            foreach (var monthlyConsumptionDetail in monthlyConsumptionDetails)
            {
                switch (monthlyConsumptionDetail.Month.ToLower())
                {
                case "jan":
                    meterMonthWiseConsumption.MonthWiseConsumption.Jan = meterMonthWiseConsumption.MonthWiseConsumption.Jan + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "feb":
                    meterMonthWiseConsumption.MonthWiseConsumption.Feb = meterMonthWiseConsumption.MonthWiseConsumption.Feb + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "mar":
                    meterMonthWiseConsumption.MonthWiseConsumption.Mar = meterMonthWiseConsumption.MonthWiseConsumption.Mar + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "apr":
                    meterMonthWiseConsumption.MonthWiseConsumption.Apr = meterMonthWiseConsumption.MonthWiseConsumption.Apr + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "may":
                    meterMonthWiseConsumption.MonthWiseConsumption.May = meterMonthWiseConsumption.MonthWiseConsumption.May + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "jun":
                    meterMonthWiseConsumption.MonthWiseConsumption.Jun = meterMonthWiseConsumption.MonthWiseConsumption.Jun + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "jul":
                    meterMonthWiseConsumption.MonthWiseConsumption.Jul = meterMonthWiseConsumption.MonthWiseConsumption.Jul + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "aug":
                    meterMonthWiseConsumption.MonthWiseConsumption.Aug = meterMonthWiseConsumption.MonthWiseConsumption.Aug + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "sep":
                    meterMonthWiseConsumption.MonthWiseConsumption.Sep = meterMonthWiseConsumption.MonthWiseConsumption.Sep + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "oct":
                    meterMonthWiseConsumption.MonthWiseConsumption.Oct = meterMonthWiseConsumption.MonthWiseConsumption.Oct + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "nov":
                    meterMonthWiseConsumption.MonthWiseConsumption.Nov = meterMonthWiseConsumption.MonthWiseConsumption.Nov + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;

                case "dec":
                    meterMonthWiseConsumption.MonthWiseConsumption.Dec = meterMonthWiseConsumption.MonthWiseConsumption.Dec + monthlyConsumptionDetail.Monthly_KWH_System ?? default(double);
                    break;
                }
            }

            return(meterMonthWiseConsumption);
        }
        List <MeterMonthWiseConsumptionModel> IMeterService.GetMonthWiseConsumption(int buildingId, int year)
        {
            var meterDetails = this.GetMeterDetails(buildingId);
            List <MeterMonthWiseConsumptionModel> meterDataList = new List <MeterMonthWiseConsumptionModel>();

            foreach (var meterDetail in meterDetails)
            {
                var monthlyConsumptionDetails = this.dbContext.MonthlyConsumptionDetails.Where(m => m.PowerScout.Equals(meterDetail.PowerScout, StringComparison.InvariantCultureIgnoreCase) && m.Year.Equals(year.ToString()));

                MeterMonthWiseConsumptionModel meterMonthWiseConsumption = this.GetMeterMonthWiseConsumption(monthlyConsumptionDetails);

                if (meterMonthWiseConsumption != null)
                {
                    meterMonthWiseConsumption.PowerScout = meterDetail.PowerScout;
                    meterMonthWiseConsumption.Name       = meterDetail.Breaker_details;
                    meterDataList.Add(meterMonthWiseConsumption);
                }
                else
                {
                    meterDataList.Add(new MeterMonthWiseConsumptionModel {
                        PowerScout = meterDetail.PowerScout, Name = meterDetail.Breaker_details
                    });
                }
            }

            return(meterDataList);
        }