Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }