private void InitialiseAllViewModels() { _SplashScreenViewModel = new SplashScreenViewModel(); _RegistrationViewModel = new RegistrationViewModel(); _ModifyViewModel = new ModifyViewModel(); _AuthenticationViewModel = new AuthenticationViewModel(); }
public async Task <IActionResult> Modify(ModifyViewModel model, string returnUrl = null) { try { CheckRights(model.Name, UserActions.Modify); } catch (ArgumentException ex) { ViewData["Message"] = ex.Message; return(View(ERROR_OCCURED)); } if (ModelState.IsValid) { ApplicationUser user = await _userManager.FindByEmailAsync(model.Email); user.IsAdmin = model.MakeAdmin; IdentityResult result = await _userManager.UpdateAsync(user); if (result.Succeeded) { if (returnUrl == null) { returnUrl = USERS_VIEW; } ViewData["ReturnUrl"] = returnUrl; _logger.LogInformation(7, "User account was modified."); return(RedirectToLocal(returnUrl)); } } return(View(model)); }
public void ReturnRedirectResult_WhenModelStateIsValid() { // Arrange Mock <IUserSensorService> userSensorServiceMock = new Mock <IUserSensorService>(); Mock <ISensorService> sensorServiceMock = new Mock <ISensorService>(); Mock <IMemoryCache> memoryCacheMock = new Mock <IMemoryCache>(); Mock <ISensorDataService> sensorDataServiceMock = new Mock <ISensorDataService>(); var controller = new SensorController(userSensorServiceMock.Object, sensorServiceMock.Object, memoryCacheMock.Object, sensorDataServiceMock.Object) { ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = new ClaimsPrincipal() } }, TempData = new Mock <ITempDataDictionary>().Object }; var viewModel = new ModifyViewModel() { Name = "Name", Description = "Description", PollingInterval = 10, Latitude = 0, Longitude = 0, IsPublic = true, AlarmTriggered = true, AlarmMin = 0, AlarmMax = 0, Id = "Description", IsState = true, }; string validId = viewModel.Id; UserSensor validUserSensorResult = new UserSensor(); Sensor validSensor = new Sensor { IsState = false }; validUserSensorResult.Sensor = validSensor; validUserSensorResult.Latitude = "0"; validUserSensorResult.Longitude = "0"; userSensorServiceMock.Setup(mock => mock.GetSensorByIdAsync(validId)) .Returns(Task.FromResult(validUserSensorResult)); // Act var result = controller.Modify(viewModel); //Assert Assert.IsInstanceOfType(result.Result, typeof(RedirectToActionResult)); var redirectResult = (RedirectToActionResult)result.Result; Assert.AreEqual("Modify", redirectResult.ActionName); Assert.IsNull(redirectResult.RouteValues); }
public void RedisplayView_WhenPassedInvalidModelState() { Mock <IUserSensorService> userSensorServiceMock = new Mock <IUserSensorService>(); Mock <ISensorService> sensorServiceMock = new Mock <ISensorService>(); Mock <IMemoryCache> memoryCacheMock = new Mock <IMemoryCache>(); Mock <ISensorDataService> sensorDataServiceMock = new Mock <ISensorDataService>(); var controller = new SensorController(userSensorServiceMock.Object, sensorServiceMock.Object, memoryCacheMock.Object, sensorDataServiceMock.Object) { ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = new ClaimsPrincipal() } }, TempData = new Mock <ITempDataDictionary>().Object }; controller.ModelState.AddModelError("error", "error"); var viewModel = new ModifyViewModel(); var result = controller.Modify(viewModel); Assert.IsInstanceOfType(result.Result, typeof(ViewResult)); var viewResult = (ViewResult)result.Result; Assert.IsInstanceOfType(viewResult.Model, typeof(ModifyViewModel)); Assert.IsNull(viewResult.ViewName); // should not return any other view }
public async Task <ActionResult> UpdateProfile(ModifyViewModel model, HttpPostedFileBase Event_Image) { if (!ModelState.IsValid) { return(View(model)); } var user = UserManager.FindById(User.Identity.GetUserId()); if (user != null) { if (Event_Image != null) { var file = Event_Image; if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/ProfileImage/"), fileName); file.SaveAs(path); user.Profile = file.FileName; } } else { user.Profile = "person.png"; } user.Fullname = model.Fullname; await UserManager.UpdateAsync(user); } return(RedirectToAction("Index", new { Message = ManageMessageId.UpdateProfileSuccess })); }
public AttendedViewModel(IInstallationService installationService, InstallViewModel installViewModel, ModifyViewModel modifyViewModel, UninstallViewModel uninstallViewModel) { _installationService = installationService; _installViewModel = installViewModel; _modifyViewModel = modifyViewModel; _uninstallViewModel = uninstallViewModel; _installViewModel.Closed += ChildOnClosed; _uninstallViewModel.Closed += ChildOnClosed; }
public IActionResult ModifyUser() { string email = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Email).Value; User user = _userService.GetOne(email); ModifyViewModel modifyModel = new ModifyViewModel() { User = user, Modification = null }; return(View(modifyModel)); }
public async Task <ActionResult> ModifyPassword(ModifyViewModel model) { if (ModelState.IsValid) { string userName = HttpContext.User.Identity.Name; var student = this.UserManager.Users.FirstOrDefault(s => s.UserName == userName); var result = await this.UserManager.ChangePasswordAsync(student, model.OriginalPassword, model.ModifiedPassword); if (result.Succeeded) //修改密码成功则登出,显示再次登录界面 { await this.SignInManager.SignOutAsync(); return(this.View("ModifySuccess")); } ModelState.AddModelError("", "原密码输入错误"); } return(this.View(model)); }
public async Task <IActionResult> Modify(string id) { if (id == null) { throw new ApplicationException($"Passed ID parameter is absent."); } var userSensor = await this.userSensorService.GetSensorByIdAsync(id); if (userSensor == null) { throw new ApplicationException($"Unable to find user sensor with ID '{id}'."); } var model = new ModifyViewModel(userSensor); return(View(model)); }
public async Task <IActionResult> Modify(ModifyViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var userSensor = await this.userSensorService.GetSensorByIdAsync(model.Id.ToString()); userSensor.Name = model.Name; userSensor.Description = model.Description; userSensor.AlarmTriggered = model.AlarmTriggered; userSensor.AlarmMin = model.AlarmMin; userSensor.AlarmMax = model.AlarmMax; userSensor.IsPublic = model.IsPublic; userSensor.PollingInterval = model.PollingInterval; userSensor.Latitude = model.Latitude.ToString(); userSensor.Longitude = model.Longitude.ToString(); userSensor.Coordinates = model.Latitude + "," + model.Longitude; await this.userSensorService.UpdateUserSensorAsync(userSensor); return(RedirectToAction(nameof(Modify))); }
//修改密码视图 public IActionResult ModifyPassword() { ModifyViewModel model = new ModifyViewModel(); return(this.View(model)); }