public IHttpActionResult RegisterNewDeveloper([FromBody] RegisterDeveloperRequest request) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var createAccountRequest = new CreateAccountRequest( new MailAddress(request.Email), request.LastName, request.FirstName, request.Password, new Profile { InstituteName = request.InstituteName, PhoneNumber = request.PhoneNumber, Specialization = request.StudyingProfile, StudentAccessionYear = request.AccessionYear, StudyingDirection = request.Department, VkProfileUri = request.VkProfileUri == null ? null : new Uri(request.VkProfileUri) }); try { _userManager.CreateUser(createAccountRequest); } catch (AccountAlreadyExistsException) { return ResponseMessage(new HttpResponseMessage(HttpStatusCode.Conflict)); } return Ok(); }
public void CreateUser(CreateAccountRequest request) { Require.NotNull(request, nameof(request)); var doesExist = EnumerableExtensions.Any(GetUserList(account => account.Email.Address == request.Email)); if (doesExist) { throw new AccountAlreadyExistsException(); } var newAccount = new Account( request.Firstname, request.Lastname, new MailAddress(request.Email), Password.FromPlainString(request.Password), AccountRole.User, ConfirmationStatus.Unconfirmed, DateTime.Now, request.Profile, 0, 0); var userId = _userRepository.CreateAccount(newAccount); _confirmationService.SetupEmailConfirmation(userId); }