public ActionResult ChargeHist(DateTime fromdate, DateTime todate, int customerid) { int rc; Customer customer = new Customer(customerid); Meter[] meters = Meter.GetMeters(new MeterParameters { UserId = customer.Id }, out rc); List <Topup> topups1 = new List <Topup>(); foreach (Meter meter in meters) { Topup[] topups = Topup.GetMonthlyTopups(new TopupParameters { fromdate = fromdate, todate = todate, MeterId = meter.Meterid }, out rc); foreach (Topup topup in topups) { topups1.Add(topup); } } decimal?amount = 0; decimal?counter = 0; foreach (Topup topup in topups1) { amount += topup.Amount; counter += 1; } //decimal? result =decimal.Round( amount.Value/count.Value,2); return(Content(JsonConvert.SerializeObject(new { result = "success", data = amount }))); }
//[HttpPost] //public ActionResult MonthlyCharge(Topup[] topups) //{ // //int? result = 0; // if (ViewData.ModelState.IsValidField("meter id")) // { //checking model state // //check whether id is already exists in the database or not // if (topups.Length == 0) // { // ModelState.AddModelError("MeterId", "meter not valid"); // return View(topups); // } // else { // decimal? amount = 0; // decimal? count = 0; // foreach (Topup topup in topups) // { // amount += topup.Amount; // count += 1; // } // ViewBag.amount = amount; // ViewBag.count = count; // return View(topups); // } // } // else // { // //ModelState.AddModelError("MeterId", "meter must entered"); // return View(topups); // } //} public ActionResult MonthlyCharge(DateTime?fromdate, DateTime?todate, string MeterId) { if (Session["employee"] == null) { return(RedirectToAction("index", "Employees")); } else { if (ViewData.ModelState.IsValidField("MeterId") == false && fromdate != null && todate != null) { ModelState.AddModelError("MeterId", "meter id is required"); return(View()); } if (ViewData.ModelState.IsValidField("MeterId") == false && fromdate == null && todate == null) { ModelState.AddModelError("MeterId", "meter id is required"); int both = 0; ViewBag.both = both; return(View()); } if (ViewData.ModelState.IsValidField("MeterId") == false && fromdate != null && todate == null) { ModelState.AddModelError("MeterId", "meter id is required"); int to = 0; ViewBag.to = to; return(View()); } if (ViewData.ModelState.IsValidField("MeterId") == false && fromdate == null && todate != null) { ModelState.AddModelError("MeterId", "meter id is required"); int from = 0; ViewBag.from = from; return(View()); } if (ViewData.ModelState.IsValidField("MeterId") == true && fromdate == null && todate == null) { // ModelState.AddModelError("MeterId", "meter id is required"); int both = 0; ViewBag.both = both; return(View()); } if (ViewData.ModelState.IsValidField("MeterId") == true && fromdate != null && todate == null) { //ModelState.AddModelError("MeterId", "meter id is required"); int to = 0; ViewBag.to = to; return(View()); } if (ViewData.ModelState.IsValidField("MeterId") == true && fromdate == null && todate != null) { //ModelState.AddModelError("MeterId", "meter id is required"); int from = 0; ViewBag.from = from; return(View()); } else if (ViewData.ModelState.IsValidField("MeterId") == true && fromdate != null && todate != null) { //check whether id is already exists in the database or not int rc, count = 0; Meter[] meters = Meter.GetMeters(new MeterParameters { }, out rc); foreach (Meter meter1 in meters) { if (MeterId == meter1.Meterid) { count = 1; } } if (count == 1) { Topup[] topups = Topup.GetMonthlyTopups(new TopupParameters { fromdate = fromdate, todate = todate, MeterId = MeterId }, out rc); decimal?amount = 0; decimal?countt = 0; foreach (Topup topup in topups) { amount += topup.Amount; countt += 1; } ViewBag.amount = amount; ViewBag.count = countt; return(View()); } else { if (MeterId != null) { int valid = 0; ViewBag.valid = valid; return(View()); } else { return(View()); } } } else { return(View()); } } }