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 ActionResult AddUnregisteredFeedback(UnregisteredFeedbackViewModel viewModel) { try { using (VesiPortalDbContext context = new VesiPortalDbContext()) { UnregisteredFeedback unregisteredFeedback = new UnregisteredFeedback { Guid = Guid.NewGuid(), SenderName = viewModel.SenderName, SenderEmail = viewModel.SenderEmail, SenderPhoneNumber = viewModel.SenderPhoneNumber, FeedBackText = viewModel.FeedBackText }; Feedback.Add(context, unregisteredFeedback); } TempData[StaticMembers.MESSAGE] = Messages.FeedbackAdded; return(RedirectToAction("Index", "Home")); } catch (Exception) { TempData[StaticMembers.ERROR_MSG] = ErrorMessages.FeedbackAddError; return(ShowNewUnregisteredFeedback(viewModel)); } }
public async Task <ActionResult> RegisterCustomer(RegisterCustomerViewModel model) { if (ModelState.IsValid) { var user = new CustomerUser { Id = Guid.NewGuid(), UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, CustomerNumber = model.CustomerNumber }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await this.UserManager.AddToRoleAsync(user.Id, "Customer"); // Add default water meter. // NOTE: This is for demonstration purposes only! In the actual application, water meters would not be addef from the customer portal. WaterMeter waterMeter = new WaterMeter() { CustomerUserGuid = user.Id, Id = "123456789", }; using (VesiPortalDbContext context = new VesiPortalDbContext()) { WaterMeter.Add(context, waterMeter); } await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); TempData[StaticMembers.MESSAGE] = Resources.Messages.Messages.RegisterSuccess; return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public JsonResult AddUnregisteredReading(UnregisteredWaterMeterReadingViewModel viewModel) { try { using (VesiPortalDbContext context = new VesiPortalDbContext()) { UnregisteredWaterMeterReading unregisteredWaterMeterReading = Mapper.Map <UnregisteredWaterMeterReading>(viewModel); WaterMeterReading.Add(context, unregisteredWaterMeterReading); } 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 ActionResult GetConsumptionChart(ConsumptionHistoryViewModel viewModel) { CustomerUser user = null; ConsumptionHistoryChartViewModel consumptionHistoryChartViewModel = new ConsumptionHistoryChartViewModel(); try { using (VesiPortalDbContext context = new VesiPortalDbContext()) { var guid = User.Identity.GetUserId(); user = (CustomerUser)UserManager.FindById(Guid.Parse(guid)); WaterMeter waterMeter = WaterMeter.Get(context, viewModel.WaterMeterGuid); if (waterMeter == null) { throw new Exception(ErrorMessages.WaterMeterNotFound); } List <RegisteredWaterMeterReading> registeredWaterMeterReadings = RegisteredWaterMeterReading.GetRegisteredWaterMeterReadings(context, waterMeter, viewModel.StartDate, viewModel.EndDate) .ToList(); if (registeredWaterMeterReadings.Count > 0) { consumptionHistoryChartViewModel.ConsumptionAmounts = registeredWaterMeterReadings.OrderBy(x => x.ReadingDate).Select(x => x.DailyConsumption).ToList(); consumptionHistoryChartViewModel.ConsumptionDates = registeredWaterMeterReadings.OrderBy(x => x.ReadingDate).Select(x => x.ReadingDate).ToList(); DateTime minDate = viewModel.StartDate.HasValue ? viewModel.StartDate.Value : registeredWaterMeterReadings.Min(x => x.ReadingDate); DateTime maxDate = viewModel.EndDate.HasValue ? viewModel.EndDate.Value :registeredWaterMeterReadings.Max(x => x.ReadingDate); consumptionHistoryChartViewModel.StartDate = minDate; consumptionHistoryChartViewModel.EndDate = maxDate; } consumptionHistoryChartViewModel.FileName = user.Id.GetHashCode().ToString() + ".png"; return(PartialView("_ConsumptionHistoryChart", consumptionHistoryChartViewModel)); } } catch { return(PartialView("_ConsumptionHistoryChart", new ConsumptionHistoryChartViewModel())); } }
public ActionResult AddRegisteredFeedback(RegisteredFeedbackViewModel viewModel) { try { using (VesiPortalDbContext context = new VesiPortalDbContext()) { RegisteredFeedback unregisteredFeedback = new RegisteredFeedback { Guid = Guid.NewGuid(), CustomerUserGuid = viewModel.CustomerUserGuid, FeedBackText = viewModel.FeedBackText }; Feedback.Add(context, unregisteredFeedback); } TempData[StaticMembers.MESSAGE] = Messages.FeedbackAdded; return(RedirectToAction("Index", "Home")); } catch (Exception) { TempData[StaticMembers.ERROR_MSG] = ErrorMessages.FeedbackAddError; return(ShowNewRegisteredFeedback(viewModel)); } }
// In this method we will create default User roles and Admin user for login private void CreateRolesandUsers() { VesiPortalDbContext context = new VesiPortalDbContext(); var roleManager = new VesiPortalRoleManager(new VesiPortalRoleStore(context)); var UserManager = new VesiPortalUserManager(new VesiPortalUserStore(context)); //var UserManager = HttpContext.Current.GetOwinContext().Get<VesiPortalUserManager>(null); // In Startup iam creating first Admin Role and creating a default Admin User if (!roleManager.RoleExists("Admin")) { // first we create Admin rool var role = new VesiPortalRole { Id = Guid.NewGuid(), Name = "Admin" }; roleManager.Create(role); //Here we create a Admin super user who will maintain the website var user = new AdminUser { Id = Guid.NewGuid(), FirstName = "Toni", LastName = "Kuosmanen", UserName = "******", Email = "*****@*****.**" }; string userPWD = "_bWx5krnd"; var chkUser = UserManager.Create(user, userPWD); //Add default User to Role Admin if (chkUser.Succeeded) { var result1 = UserManager.AddToRole(user.Id, "Admin"); } } // creating Creating customer role if (!roleManager.RoleExists("Customer")) { var role = new VesiPortalRole(); role.Id = Guid.NewGuid(); role.Name = "Customer"; roleManager.Create(role); } if (!roleManager.RoleExists("WaterworkUser")) { var role = new VesiPortalRole(); role.Id = Guid.NewGuid(); role.Name = "WaterworkUser"; roleManager.Create(role); } }