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));
        }
Пример #3
0
        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)));
        }
Пример #5
0
        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" }));
        }
Пример #6
0
        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));
        }
Пример #7
0
 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);
        }