Ejemplo n.º 1
0
        public async Task <IActionResult> Create(UserViewModelCreate viewModel)
        {
            if (ModelState.IsValid)
            {
                MyUser user = _mapper.CreateUser(viewModel, _userManager, _roleManager).Result;

                var result = await _userManager.CreateAsync(user, viewModel.Password);

                if (result.Succeeded)
                {
                    //_context.SaveChanges();
                    await _userManager.SetEmailAsync(user, viewModel.Email);

                    var token = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    await _userManager.ConfirmEmailAsync(user, token);

                    //remove roles and add only the ones from viewmodel
                    await _userManager.AddToRolesAsync(user, viewModel.Roles);


                    //_context.Add(user);
                    //await _context.SaveChangesAsync();
                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create()
        {
            UserViewModelCreate viewModel = new UserViewModelCreate();

            var roles = await _roleManager.Roles.ToListAsync();

            ViewData["Roles"] = new SelectList(roles, "Name", "Name");
            var departments = await _context.Departments.ToListAsync();

            ViewData["Departments"] = new SelectList(departments, "Id", "Name");
            var managers = await _userManager.GetUsersInRoleAsync("Manager");

            ViewData["Managers"] = new SelectList(managers, "Id", "UserName");
            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public async Task <MyUser> CreateUser(
            UserViewModelCreate viewModel,
            UserManager <MyUser> userManager,
            RoleManager <IdentityRole> roleManager)
        {
            MyUser user = new MyUser()
            {
                UserName     = viewModel.Email,
                FirstName    = viewModel.FirstName,
                LastName     = viewModel.LastName,
                CostPerHour  = viewModel.CostPerHour,
                DepartmentId = viewModel.DepartmentId,
                ManagerId    = viewModel.ManagerId,
            };

            return(user);
        }