public async Task <ActionResult <UserViewModel> > Create(UserViewModel loginViewModel) { if (ModelState.IsValid) { if (await db.Users.AnyAsync(x => x.Email == loginViewModel.Login)) { return(BadRequest("Такой пользователь уже существует")); } logger.LogInformation($"Create user {loginViewModel.Login}:{loginViewModel.Password}"); var role = db.Roles.FirstOrDefault(x => x.Name == loginViewModel.Role); var lang = db.Languages.First(); var newUser = new User { Id = 0, Email = loginViewModel.Login, Nickname = loginViewModel.Login, Role = role, Language = lang, LanguageId = lang.Id, RoleId = role.Id, PasswordHash = CryptService.CreateHash(loginViewModel.Password) }; db.Add(newUser); db.SaveChanges(); return(Ok()); } return(loginViewModel); }
public async Task <ActionResult <UserViewModel> > Edit(string id, UserViewModel loginViewModel) { if (id != loginViewModel.Id) { return(NotFound()); } if (ModelState.IsValid) { var user = await db.Users.FirstOrDefaultAsync(x => x.Id.ToString() == id); var role = db.Roles.FirstOrDefault(x => x.Name == loginViewModel.Role); user.Email = loginViewModel.Login; user.Role = role; user.PasswordHash = CryptService.CreateHash(loginViewModel.Password); db.Update(user); db.SaveChanges(); return(Ok()); } return(loginViewModel); }