예제 #1
0
        public async Task <IActionResult> Edit(string id, [Bind("Id,UserName,NormalizedUserName,Email,NormalizedEmail,EmailConfirmed,PasswordHash,SecurityStamp,ConcurrencyStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEnabled,AccessFailedCount")] Aspnetusers aspnetusers)
        {
            if (id != aspnetusers.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(aspnetusers);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AspnetusersExists(aspnetusers.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(aspnetusers));
        }
예제 #2
0
        public async Task <IActionResult> Index()
        {
            Aspnetusers user = await _userManager.FindByNameAsync(User.Identity.Name);

            var model = await _projectFacade.GetAllProjectsAssignedToWorker(user.SupervisedBy);

            return(View(model));
        }
        public async Task <Aspnetusers> DeleteUserAsync(string userId)
        {
            Aspnetusers userInDb = await GetUserByIdAsync(userId);

            _appDbContext.Aspnetusers.Remove(userInDb);
            await _appDbContext.SaveChangesAsync();

            return(userInDb);
        }
예제 #4
0
        public async Task <IActionResult> Create([Bind("Id,UserName,NormalizedUserName,Email,NormalizedEmail,EmailConfirmed,PasswordHash,SecurityStamp,ConcurrencyStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEnabled,AccessFailedCount")] Aspnetusers aspnetusers)
        {
            if (ModelState.IsValid)
            {
                _context.Add(aspnetusers);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(aspnetusers));
        }
        public async Task <IActionResult> UserDetails(string id)
        {
            UserViewModel model      = _mapper.Map <UserViewModelDTO, UserViewModel>(await _userRepository.GetUserViewModelDTOByIdAsync(id));
            Aspnetusers   supervisor = await _userRepository.GetUserByIdAsync(model.SupervisedBy);

            if (supervisor != null)
            {
                model.SupervisedBy = supervisor.UserName;
            }
            return(View(model));
        }
예제 #6
0
        public async Task <IActionResult> Index()
        {
            UserViewModel model =
                _mapper.Map <UserViewModelDTO, UserViewModel>
                    (await _userRepository.GetUserViewModelDTOByIdAsync(_userManager.GetUserId(User)));

            Aspnetusers supervisor = await _userRepository.GetUserByIdAsync(model.SupervisedBy);

            if (supervisor != null)
            {
                model.SupervisedBy = supervisor.UserName;
            }

            return(View(model));
        }
        public async Task <IActionResult> CreateNewUser(CreateUserViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            Aspnetusers newUser = await _userRepository.CreateUserAsync(model.UserName, model.SupervisedBy, model.RoleName);

            if (newUser == null)
            {
                ModelState.AddModelError("", "Something went wrong.");
                return(View(model));
            }
            return(RedirectToAction("UserDetails", new { id = newUser.Id }));
        }
        public async Task <IActionResult> PostUser([FromBody] RegisterDto model)
        {
            var role = _roleManager.FindByIdAsync(model.RoleId).Result;

            if (ModelState.IsValid)
            {
                var user = new Aspnetusers {
                    FullName = model.FullName, UserName = model.Email, Email = model.Email
                };

                var roleResult = await _roleManager.RoleExistsAsync(role.Name);

                if (!roleResult)
                {
                    return(BadRequest("Ruolo non esiste!"));
                }

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

                if (result.Succeeded)
                {
                    //_logger.LogInformation("User created a new account with password.");

                    await _userManager.AddToRoleAsync(user, role.Name);

                    var newUser = new
                    {
                        id       = user.Id,
                        fullName = user.FullName,
                        email    = user.Email,
                        username = user.UserName,
                        roleId   = role.Id,
                        role     = role.Name
                    };
                    // await _signInManager.SignInAsync(user, isPersistent: false);
                    return(Ok(newUser));
                    // return new OkObjectResult("Account created");
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }
            return(new BadRequestObjectResult(ModelState));
        }
        public async Task <Aspnetusers> CreateUserAsync(string username, string supervisedBy, string roleName)
        {
            Aspnetusers newUser = new Aspnetusers()
            {
                UserName     = username,
                SupervisedBy = supervisedBy
            };

            var result1 = await _userManager.CreateAsync(newUser, "User1122??");

            var result2 = await _userManager.AddToRoleAsync(newUser, roleName);

            if (result1.Succeeded && result2.Succeeded)
            {
                return(newUser);
            }
            return(null);
        }
        public async Task <IActionResult> Users()
        {
            var usersInDb = await _userRepository.GetAllUsersAsync();

            IEnumerable <UserViewModel> listUserViewModels = _mapper.Map
                                                             <IEnumerable <UserViewModelDTO>, IEnumerable <UserViewModel> >(usersInDb);


            for (int i = 0; i < listUserViewModels.Count(); i++)
            {
                string      supervisorId = listUserViewModels.ElementAt(i).SupervisedBy;
                Aspnetusers supervisor   = await _userRepository.GetUserByIdAsync(supervisorId);

                if (supervisor != null)
                {
                    listUserViewModels.ElementAt(i).SupervisedBy = supervisor.UserName;
                }
            }

            return(View(listUserViewModels));
        }
        public async Task <Aspnetusers> EditUserAsync(string userId, string username, string supervisedBy, string roleName)
        {
            Aspnetusers userInDb = await _userManager.FindByIdAsync(userId);

            userInDb.UserName     = username;
            userInDb.SupervisedBy = supervisedBy;
            var userRoles = await _userManager.GetRolesAsync(userInDb);


            var result1 = await _userManager.RemoveFromRolesAsync(userInDb, userRoles);


            var result2 = await _userManager.AddToRoleAsync(userInDb, roleName);

            if (result1.Succeeded && result2.Succeeded)
            {
                return(userInDb);
            }

            return(null);
        }