public async Task <IActionResult> Create(AccountCreateUpdateViewModel userModel, params string[] selectedRoles) { var data = await GetRolesAndUserModel(userModel.Id); userModel.RolesList = data.RolesList; if (!ModelState.IsValid) { return(View(nameof(CreateOrUpdate), userModel)); } var user = _mapper.Map <AppUser>(userModel); var listRoles = await _roleManager.Roles.ToListAsync(); var createResult = await _userManager.CreateAsync(user, userModel.Password); if (createResult.Succeeded) { if (selectedRoles != null) { var result = await _userManager.AddToRolesAsync(user, selectedRoles); if (!result.Succeeded) { return(View(nameof(CreateOrUpdate), userModel)); } } } else { return(View(nameof(CreateOrUpdate), userModel)); } return(View(nameof(Index))); }
public async Task <IActionResult> CreateOrUpdate(Guid?id) { var model = new AccountCreateUpdateViewModel(); var data = await GetRolesAndUserModel(id); model = data; return(View(model)); }
public ActionResult CreateUpdate(AccountCreateUpdateViewModel viewModel) { string message = null; if (AccountBL.Create(viewModel)) { message = FJMessage.InsertSuccessMessage; } else { message = FJMessage.InsertErrorMessage; } return(Json(message, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> Edit(AccountCreateUpdateViewModel userModel, params string[] selectedRoles) { var listRoles = await _roleManager.Roles.ToListAsync(); var data = await GetRolesAndUserModel(userModel.Id); userModel.RolesList = data.RolesList; if (!ModelState.IsValid) { return(View(nameof(CreateOrUpdate), userModel)); } var user = await _userManager.FindByIdAsync(userModel.Id.ToString()); if (user == null) { return(NotFound()); } var userRoles = await _userManager.GetRolesAsync(user); selectedRoles = selectedRoles ?? new string[] { }; var result = await _userManager.AddToRolesAsync(user, selectedRoles.Except(userRoles).ToArray <string>()); if (!result.Succeeded) { foreach (var error in result.Errors) { Alert($"Code {error.Code} - Description {error.Description} ", true); } return(View(nameof(CreateOrUpdate), userModel)); } result = await _userManager.RemoveFromRolesAsync(user, userRoles.Except(selectedRoles).ToArray <string>()); if (!result.Succeeded) { foreach (var error in result.Errors) { Alert($"Code {error.Code} - Description {error.Description} ", true); } return(View(nameof(CreateOrUpdate), userModel)); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Register(AccountCreateUpdateViewModel userModel) { if (!ModelState.IsValid) { return(View(userModel)); } var user = _mapper.Map <AppUser>(userModel); var result = await _userManager.CreateAsync(user, userModel.Password); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.TryAddModelError(error.Code, error.Description); } return(View(userModel)); } return(RedirectToAction("Index", "Dashboard", new { Area = "Admin" })); }
public ActionResult CreateUpdate() { AccountCreateUpdateViewModel viewModel = new AccountCreateUpdateViewModel() { DropDownListModel = new Data.Models.Common.DropDownListModel() { WineryList = WineryList }, IdentityCodeList = new List <SelectListItem>() { new SelectListItem() { Text = "管理員", Value = "90" }, new SelectListItem() { Text = "酒莊", Value = "10" } } }; return(View(viewModel)); }
public bool Create(AccountCreateUpdateViewModel viewModel) { try { Account account = new Account() { AccountUser = viewModel.AccountUser, Password = viewModel.Password, UserName = viewModel.UserName, IdentityCode = viewModel.IdentityCode, WineryId = viewModel.WineryId, Crt_Date = DateTime.Now, Crt_User = SessionModel.LoginDate.UserName }; AdapterFJRepository.AccountRepository.Create(account); AdapterFJRepository.Save(); return(true); } catch { return(false); } }
public async Task <AccountCreateUpdateViewModel> GetRolesAndUserModel(Guid?id) { var model = new AccountCreateUpdateViewModel(); var listRoles = await _roleManager.Roles.ToListAsync(); var list = new List <CheckboxRoleViewModel>(); if (id == null || id == Guid.Empty) { list = listRoles.Select(x => new CheckboxRoleViewModel() { Selected = false, Text = x.Name, Value = x.Name }).ToList(); } else { var user = await _userManager.FindByIdAsync(id.ToString()); var userRoles = await _userManager.GetRolesAsync(user); model = _mapper.Map <AccountCreateUpdateViewModel>(user); list = listRoles.Select(x => new CheckboxRoleViewModel() { Selected = userRoles.Contains(x.Name), Text = x.Name, Value = x.Name }).ToList(); } model.RolesList = list; return(model); }