public async Task <User> Insert(UsersUpsertRequest request) { var entity = _mapper.Map <Infrastructure.Entities.User>(request); if (request.Password != request.ConfirmPassword) { throw new UserException("Passwords do not match"); } entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password); _context.Users.Add(entity); await _context.SaveChangesAsync(); request.Roles.ForEach((role) => { Infrastructure.Entities.UserRole userRoles = new Infrastructure.Entities.UserRole(); userRoles.UserId = entity.Id; userRoles.RoleId = role; _context.UserRoles.Add(userRoles); }); await _context.SaveChangesAsync(); return(_mapper.Map <Model.Models.User>(entity)); }
public async Task <User> Update(int id, UsersUpsertRequest request) { var entity = _context.Users.Find(id); _context.Users.Attach(entity); _context.Users.Update(entity); if (!string.IsNullOrWhiteSpace(request.Password)) { if (request.Password != request.ConfirmPassword) { throw new Exception("Passwords do not match"); } entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password); } _mapper.Map(request, entity); await _context.SaveChangesAsync(); //request.Roles.ForEach((role) => //{ // Infrastructure.Entities.UserRole userRoles = new Infrastructure.Entities.UserRole(); // userRoles.UserId = entity.Id; // userRoles.RoleId = role; // _context.UserRoles.Add(userRoles); //}); //await _context.SaveChangesAsync(); return(_mapper.Map <Model.Models.User>(entity)); }
private async void AddUserBtn_Click(object sender, System.EventArgs e) { if (!this.ValidateChildren()) { return; } var userRoles = rolesCheckBoxList.CheckedItems.Cast <Model.Models.Role>().Select(role => role.Id).ToList(); var request = new UsersUpsertRequest() { Archived = userDisabledCheckBox.Checked, ConfirmPassword = confirmPasswordTextBox.Text, Password = passwordTextBox.Text, Email = emailTextBox.Text, FirstName = firstNameTextBox.Text, LastName = lastNameTextBox.Text, Roles = userRoles, Username = usernameTextBox.Text }; Model.Models.User userEntity = null; if (!_userId.HasValue) { userEntity = await _usersService.Insert <Model.Models.User>(request); } else { userEntity = await _usersService.Update <Model.Models.User>(_userId.Value, request); } if (userEntity != null) { MessageBox.Show("Opration successfull!"); this.Close(); } }
public async Task <Model.Models.User> Update(int id, [FromBody] UsersUpsertRequest request) { return(await _service.Update(id, request)); }
public async Task <Model.Models.User> Insert(UsersUpsertRequest request) { return(await _service.Insert(request)); }