public void UpdateUser(UserDetailedDto user) { var userEntity = _mapper.Map <User>(user); _userRepository.UpdateUser(userEntity); _userRepository.Save(); }
public async Task <IActionResult> GetUser(Guid id) { bool isCurrentUser = Guid.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value) == id; User user = await _repository.GetUser(id, isCurrentUser); UserDetailedDto userDetailedDto = _mapper.Map <UserDetailedDto>(user); return(Ok(userDetailedDto)); }
public async Task <IActionResult> Register(UserRegisterDto userRegisterDto) { User userToCreate = _mapper.Map <User>(userRegisterDto); IdentityResult result = await _userNamager.CreateAsync(userToCreate, userRegisterDto.Password); UserDetailedDto userDetailedDto = _mapper.Map <UserDetailedDto>(userToCreate); if (result.Succeeded) { return(CreatedAtRoute("GetUser", new { controller = "Users", id = userToCreate.Id }, userDetailedDto)); } return(BadRequest(result.Errors)); }
public static IEnumerable <UserDetailedDto> List(RioDbContext dbContext) { var accountUsers = dbContext.AccountUser .Include(x => x.Account) .ToList() .GroupBy(x => x.UserID) .Select(x => new { UserID = x.Key, Accounts = x.Select(y => y.Account.AsSimpleDto()).ToList() }); // right now we are assuming a parcel can only be associated to one user var users = dbContext.vUserDetailed .ToList() .GroupJoin(accountUsers, x => x.UserID, y => y.UserID, (x, y) => new { vUserDetailed = x, Accounts = y.DefaultIfEmpty() }) .OrderBy(x => x.vUserDetailed.LastName).ThenBy(x => x.vUserDetailed.FirstName).ToList() .Select(user => { var userDetailedDto = new UserDetailedDto() { UserID = user.vUserDetailed.UserID, UserGuid = user.vUserDetailed.UserGuid, FirstName = user.vUserDetailed.FirstName, LastName = user.vUserDetailed.LastName, Email = user.vUserDetailed.Email, LoginName = user.vUserDetailed.LoginName, RoleID = user.vUserDetailed.RoleID, RoleDisplayName = user.vUserDetailed.RoleDisplayName, Phone = user.vUserDetailed.Phone, HasActiveTrades = user.vUserDetailed.HasActiveTrades, AcreFeetOfWaterPurchased = user.vUserDetailed.AcreFeetOfWaterPurchased, AcreFeetOfWaterSold = user.vUserDetailed.AcreFeetOfWaterSold, ReceiveSupportEmails = user.vUserDetailed.ReceiveSupportEmails, AssociatedAccounts = user.Accounts.Select(x => x?.Accounts).SingleOrDefault() }; return(userDetailedDto); }).ToList(); return(users); }
public static IEnumerable <UserDetailedDto> List(NebulaDbContext dbContext) { // right now we are assuming a parcel can only be associated to one user var parcels = dbContext.User.Include(x => x.Role).AsNoTracking().OrderBy(x => x.LastName).ThenBy(x => x.FirstName).ToList() .Select(user => { var userDetailedDto = new UserDetailedDto() { UserID = user.UserID, UserGuid = user.UserGuid, FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, LoginName = user.LoginName, RoleID = user.RoleID, RoleDisplayName = user.Role.RoleDisplayName, Phone = user.Phone, ReceiveSupportEmails = user.ReceiveSupportEmails }; return(userDetailedDto); }).ToList(); return(parcels); }