예제 #1
0
 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));
     }
 }
예제 #2
0
 public PartialViewResult ConfirmRegisteredReading(RegisteredWaterMeterReadingViewModel viewModel)
 {
     try
     {
         return(PartialView("_RegisteredWaterMeterReadingShow", viewModel));
     }
     catch (Exception e)
     {
         TempData[StaticMembers.ERROR_MSG] = e.Message;
         return(PartialView("RegisteredWaterMeterReadingAddViewShow", new UnregisteredWaterMeterReadingViewModel()));
     }
 }
예제 #3
0
        /// <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"));
            }
        }