public JsonResult AddRegisteredReading(RegisteredWaterMeterReadingViewModel viewModel) { try { using (VesiPortalDbContext context = new VesiPortalDbContext()) { RegisteredWaterMeterReading registeredWaterMeterReading = new RegisteredWaterMeterReading { Guid = Guid.NewGuid(), WaterMeterGuid = viewModel.WaterMeterGuid, Reading = viewModel.Reading, ReadingDate = viewModel.ReadingDate }; WaterMeterReading.Add(context, registeredWaterMeterReading); } return(Json(data: new { Valid = true, Message = Messages.WaterMeterReadingAdded }, behavior: JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(data: new { Valid = false, ErrorMessage = ErrorMessages.WaterMeterReadingAddError }, behavior: JsonRequestBehavior.AllowGet)); } }
public PartialViewResult ConfirmRegisteredReading(RegisteredWaterMeterReadingViewModel viewModel) { try { return(PartialView("_RegisteredWaterMeterReadingShow", viewModel)); } catch (Exception e) { TempData[StaticMembers.ERROR_MSG] = e.Message; return(PartialView("RegisteredWaterMeterReadingAddViewShow", new UnregisteredWaterMeterReadingViewModel())); } }
/// <summary> /// Show the view for adding a new reading for registered customer /// </summary> /// <returns>View</returns> public ActionResult ShowNewRegisteredReading() { RegisteredWaterMeterReadingViewModel registeredWaterMeterReadingViewModel = new RegisteredWaterMeterReadingViewModel(); WaterMeter defaultMeter = null; try { if (User.IsInRole("Customer")) { var guid = User.Identity.GetUserId(); CustomerUser user = (CustomerUser)UserManager.FindById(Guid.Parse(guid)); if (user == null) { throw new Exception(ErrorMessages.UserNotFound); } List <WaterMeter> waterMeters = user.WaterMeters.ToList(); if (waterMeters.Count <= 0) { throw new Exception(ErrorMessages.UserHasNoWaterMeters); } for (int i = 0; i < waterMeters.Count; i++) { // Add select list item for each water meter SelectListItem selectListItem = new SelectListItem() { Value = waterMeters[i].Guid.ToString(), Text = waterMeters[i].Id }; registeredWaterMeterReadingViewModel.SelectWaterMeters.Add(selectListItem); if (i == 0) { // Set the first meter as default choice registeredWaterMeterReadingViewModel.SelectWaterMeters[i].Selected = true; defaultMeter = waterMeters[i]; } } if (defaultMeter != null) { // Get previous reading info for the default water meter RegisteredWaterMeterReading previousReading = defaultMeter.WaterMeterReadings .OrderByDescending(x => x.ReadingDate) .ThenByDescending(x => x.Timestamp) .FirstOrDefault(); if (previousReading != null) { registeredWaterMeterReadingViewModel.PreviousReading = previousReading.Reading; registeredWaterMeterReadingViewModel.PreviousReadingDate = previousReading.ReadingDate; } } } return(View("RegisteredWaterMeterReadingAddView", registeredWaterMeterReadingViewModel)); } catch (Exception e) { TempData[StaticMembers.ERROR_MSG] = e.Message; return(RedirectToAction("Index", "Home")); } }