public async Task <IActionResult> Register([FromBody] RegisterClientDto request) { await _mediator.Send( new RegisterClient( request.Username, request.Email, request.Password, request.FirstName, request.LastName, request.AddressLine, request.City, request.Zip, request.Country, request.SubscribeToOffers ) ); return(NoContent()); }
public void Register([FromBody] RegisterClientDto clientDto) { if (!_roleManager.RoleExistsAsync(Roles.Client).Result) { throw new ApplicationException(ExceptionMessages.RolesHaveNotBeenCreated); } var user = new ApplicationUser { UserName = clientDto.Email, Email = clientDto.Email }; var result = _userManager.CreateAsync(user, clientDto.Password).Result; if (!result.Succeeded) { throw new ApplicationException(ExceptionMessages.UsernameAlreadyExists); } using (var dbContext = new ApplicationDbContext()) { var appUser = _userManager.Users.SingleOrDefault(au => au.Email == clientDto.Email); result = _userManager.AddToRoleAsync(appUser, Roles.Client).Result; if (!result.Succeeded) { throw new ApplicationException(ExceptionMessages.InternalServerError); } var client = new Clinic_Client { UserId = appUser.Id, Logo = "" }; dbContext.Clinic_Clients.Add(client); dbContext.SaveChanges(); } }