public static async Task<bool> SignUpAsync(HttpContextBase context, string tenant, Registration model, RemoteUser user) { if (model.Password != model.ConfirmPassword) { throw new PasswordConfirmException("Passwords do not match."); } if (model.Email != model.ConfirmEmail) { throw new PasswordConfirmException("Emails do not match."); } model.Browser = user.Browser; model.IpAddress = user.IpAddress; var registration = model.Adapt<DTO.Registration>(); registration.Password = PasswordManager.GetHashedPassword(model.Password); string registrationId = (await Registrations.RegisterAsync(tenant, registration).ConfigureAwait(false)).ToString(); if (string.IsNullOrWhiteSpace(registrationId)) { return false; } var email = new SignUpEmail(context, registration, registrationId); await email.SendAsync(tenant).ConfigureAwait(false); return true; }
public async Task<ActionResult> PostAsync(Registration model) { if (model.Password != model.ConfirmPassword) { throw new PasswordConfirmException("Passwords do not match."); } if (model.Email != model.ConfirmEmail) { throw new PasswordConfirmException("Emails do not match."); } model.Browser = this.RemoteUser.Browser; model.IpAddress = this.RemoteUser.IpAddress; Mapper.CreateMap<Registration, DTO.Registration>(); var registration = Mapper.Map<DTO.Registration>(model); registration.Password = PasswordManager.GetHashedPassword(model.Password.ToString()); string registrationId = DAL.Registrations.Register(registration).ToString(); if (string.IsNullOrWhiteSpace(registrationId)) { return this.Json(false); } var email = new SignUpEmail(registration, registrationId); await email.SendAsync(); return this.Json(true); }