Exemple #1
0
        public async Task <IActionResult> Create([Bind("ID,Name,Email,Description")] VMCreateUser vmUser)
        {
            if (vmUser != null && !string.IsNullOrEmpty(vmUser.Email) && await _userService.IsEmailExist(vmUser.Email))
            {
                ModelState.AddModelError("", "Email đã tồn tại");
            }

            if (!ModelState.IsValid)
            {
                return(JSErrorModelState());
            }
            var now  = DateTime.Now;
            var user = new User
            {
                Name        = vmUser.Name,
                Description = vmUser.Description,
                Email       = vmUser.Email,
                CreateDate  = now,
                CreatedBy   = GetCurrUser(),
                UpdatedBy   = null,
                UpdatedDate = null
            };

            //var user = _mapper.Map<User>(vmUser);
            //user.CreateDate = now;
            //user.CreatedBy = GetCurrUser();
            var rs = await _userService.Create(user);

            return(CustJSonResult(rs));
        }
Exemple #2
0
        public async Task <IActionResult> Create(VMCreateUser model)// Admin creates user
        {
            if (ModelState.IsValid)
            {
                UserIdentity user = new UserIdentity
                {
                    UserName = model.Name,
                    Email    = model.Email
                };

                IdentityResult result = await userManager.CreateAsync(user, model.Password);

                string role = "User";

                if (await roleManager.FindByNameAsync(role) == null)
                {
                    await roleManager.CreateAsync(new IdentityRole(role));

                    if (result.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user, role);

                        return(RedirectToAction("User", "UserPage"));
                    }
                    else
                    {
                        foreach (IdentityError error in result.Errors)
                        {
                            ModelState.AddModelError("", error.Description);
                        }
                    }
                }
                else
                {
                    if (result.Succeeded)
                    {
                        await userManager.AddToRoleAsync(user, role);

                        return(RedirectToAction("User", "UserPage"));
                    }
                }
            }

            return(View(model));
        }