public async Task <Model.Response.Member> Insert(Model.Insert.Member request) { try { Database.Member entity = _mapper.Map <Database.Member>(request); await _context.AddAsync((object)entity); var username = request.FirstName + request.LastName; entity.Username = username; int i = 0; while (await _context.Members.FirstOrDefaultAsync(x => x.Username == entity.Username) != null) { entity.Username = username + (i++).ToString(); } var generatedPassword = _securityService.GeneratePassword(); entity.PasswordSalt = _securityService.GenerateSalt(); entity.PasswordHash = _securityService.GenerateHash(entity.PasswordSalt, generatedPassword); entity.RoleId = request.RoleId; await _mailService.SendRegistrationConfirmaiton(entity.Username, generatedPassword, entity.FirstName, entity.LastName, entity.EmailAddress); await _context.SaveChangesAsync(); return(_mapper.Map <Model.Response.Member>(entity)); } catch (Exception ex) { throw ex; } }
private Model.Insert.Member CreateInsertModel() { var model = new Model.Insert.Member() { FirstName = txtFirstName.Text, LastName = txtLastName.Text, Address = txtAddress.Text, PhoneNumber = txtPhoneNumber.Text, BirthDate = dtpBirthDate.Value, LocalCommitteeId = Convert.ToInt32(cmbLocalCommittee.SelectedValue), FunctionalFieldId = Convert.ToInt32(cmbFunctionalField.SelectedValue), RoleId = Convert.ToInt32(cmbRole.SelectedValue), EmailAddress = txtEmail.Text }; return(model); }
public async Task <Model.Response.Member> Insert([FromBody] Model.Insert.Member member) { return(await _service.Insert(member)); }