private RegisterCommand CreateRegisterCommand(string[] commandComponenets) { if (commandComponenets.Length != RegisterCommandParametersCount) { throw new InvalidOperationException(RegisterCommandParametersCountErrorMessage); } var username = commandComponenets[1]; if (username.Length < UsernameMinLength) { throw new ArgumentOutOfRangeException(UsernameLengthErrorMessage); } var email = commandComponenets[2]; if (email.Length < EmailMinLength) { throw new ArgumentOutOfRangeException(EmailLengthErrorMessage); } var password = commandComponenets[3]; var confirmPassword = commandComponenets[4]; if (!password.Equals(confirmPassword)) { throw new ArgumentOutOfRangeException(ConfirmPasswordMismatchErrorMessage); } var command = new RegisterCommand(username, email, password, confirmPassword); return command; }
private async Task<string> ExecuteRegisterCommand(RegisterCommand registerCommand) { var registerationContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("email", registerCommand.Email), new KeyValuePair<string, string>("username", registerCommand.Username), new KeyValuePair<string, string>("password", registerCommand.Password), new KeyValuePair<string, string>("confirmPassword", registerCommand.ConfirmPassword) }); var response = await this.Requester.HttpClient.PostAsync(RegisterEndpoint, registerationContent); if (!response.IsSuccessStatusCode) { throw ApiException.Create(response); } return SuccessfullRegistrationMessage; }
public ActionResult Register(RegisterViewModel register, Member existingMemberRecord, Cart cart) { if(this.ModelState.IsValid) { RegisterCommand command = new RegisterCommand(existingMemberRecord.Guid, register.RegisterEmail, register.Password); this._commandDispatcher.Dispatch(command); Member member = this._queryDispatcher.Dispatch<Member, GetMemberByEmailQuery>(new GetMemberByEmailQuery(register.RegisterEmail)); // TODO: Update carts memberId var result = this._loginProvider.Login(this.Request.GetOwinContext().Authentication, register.RegisterEmail, register.Password, false); if (result.Successful) { if (cart != null && cart.MemberId != result.Member.Guid) { // convert cart this._commandDispatcher.Dispatch(new ChangeCartsMemberGuidCommand(cart, result.Member.Guid)); } if (string.IsNullOrEmpty(register.ReturnUrl)) { return this.RedirectToRoute(Routes.Home); } else { return this.Redirect(register.ReturnUrl); } } } return this.Register(register.ReturnUrl); }