public async Task <UserDTO> GetByEmailAsync(string email) { SyllabusManagerUser syllabusUser = await _dbSet.Where(u => u.Email.ToUpper() == email.ToUpper()).FirstOrDefaultAsync(); if (syllabusUser is null) { return(null); } List <string> roles = (await _userManager.GetRolesAsync(syllabusUser)).ToList(); return(syllabusUser.MakeDto(roles)); }
public async Task <UserDTO> RegisterUser(RegistrationModel registrationModel) { Log.Information($"RegisterUser - attempting for: {registrationModel.Email}"); SyllabusManagerUser syllabusUser = new SyllabusManagerUser { Name = $"{registrationModel.Name} {registrationModel.Surname}", Email = registrationModel.Email }; await _userManager.CreateAsync(syllabusUser, registrationModel.Password); await _userManager.AddToRolesAsync(syllabusUser, registrationModel.Roles); List <string> roles = (await _userManager.GetRolesAsync(syllabusUser)).ToList(); return(syllabusUser.MakeDto(roles)); }
public async Task <UserDTO> AddOrUpdateAsync(UserDTO user) { SyllabusManagerUser dbUser = await _dbSet.FindAsync(user.Id); if (dbUser == null) { return(await AddAsync(user)); } List <string> roles = (await _userManager.GetRolesAsync(dbUser)).ToList(); await _userManager.RemoveFromRolesAsync(dbUser, roles); await _userManager.AddToRolesAsync(dbUser, user.Roles); _dbContext.Entry(dbUser).CurrentValues.SetValues(user); dbUser.NormalizedEmail = user.Email.ToUpper(); await _dbContext.SaveChangesAsync(); roles = (await _userManager.GetRolesAsync(dbUser)).ToList(); return(dbUser.MakeDto(roles)); }