public ActionResult Edit(string cancel, string delete, string save, CmsUserManagerEditViewModel viewModel) { CmsUserManagerServiceBinder modelBinder = this.GetServiceBinder(); if (this.ModelState.IsValid) { if (save != null) { viewModel = modelBinder.EditViewModelUpdate(viewModel); } if (delete != null) { } } else { //// Okay there has been an error as the ModelState is inValid, chances are they have not completed the form all in //// however, we may now also be missing other data such as select lists viewModel = modelBinder.EditViewModelStateInValid(viewModel); this.ModelState.AddModelError("Update Error", "Failed to submit. Correct any errors"); } return View(viewModel); }
public CmsUserManagerEditViewModel EditViewModelBind(int userId) { var viewModel = new CmsUserManagerEditViewModel(); var user = this.userService.GetById(userId); var userRoles = this.userRolesService.GetMany(ur => ur.UserId == userId); var selectedUserRoles = new List<int>(); Mapper.CreateMap<User, CmsUserManagerEditViewModel>(); Mapper.Map(user, viewModel); foreach (var userRole in userRoles) { selectedUserRoles.Add(userRole.RoleId); } PopulateUserRolesAvailable(ref viewModel); viewModel.UserRolesSelectedItems = selectedUserRoles; return viewModel; }
public CmsUserManagerEditViewModel EditViewModelUpdate(CmsUserManagerEditViewModel viewModel) { bool isSuccess; try { User user = this.userService.GetById(viewModel.UserId); Mapper.CreateMap<CmsUserManagerEditViewModel, User>(); Mapper.Map(viewModel, user); //// Update User this.userService.Update(user); //// Update User Roles if (viewModel.UserRolesSelectedItems != null) { foreach (int roleId in viewModel.UserRolesSelectedItems) { this.AddNewUserRole(roleId, viewModel.UserId); } } isSuccess = true; } catch (System.Exception) { isSuccess = false; } viewModel = this.EditViewModelBind(viewModel.UserId); viewModel.ActionIsSaveSuccessful = isSuccess; return viewModel; }
private void PopulateUserRolesAvailable(ref CmsUserManagerEditViewModel viewModel) { if (this.roleService != null) { viewModel.UserRolesAvailableList = new SelectList(this.roleService.GetAll(), "RoleId", "Name"); } }
public CmsUserManagerEditViewModel EditViewModelStateInValid(CmsUserManagerEditViewModel viewModel) { PopulateUserRolesAvailable(ref viewModel); viewModel.ActionIsSaveSuccessful = false; return viewModel; }