public void TestMemberMonashGsbCommunity() { // Create a member. var community = TestCommunity.MonashGsb.CreateTestCommunity(_communitiesCommand, _verticalsCommand, _contentEngine); var member = CreateMember(community); _activeCommunity = ActiveCommunity.Monash; // Create an email verification. var emailVerification = new EmailVerification { UserId = member.Id, EmailAddress = member.GetBestEmailAddress().Address }; _emailVerificationsCommand.CreateEmailVerification(emailVerification); // Send the email. var templateEmail = new ActivationEmail(member, emailVerification); _emailsCommand.TrySend(templateEmail); // Check. var email = _emailServer.AssertEmailSent(); email.AssertAddresses(Return, Return, member); email.AssertSubject(GetSubject()); email.AssertHtmlViewChecks(); email.AssertHtmlView(GetBody(templateEmail, member, GetContent(templateEmail, member, emailVerification))); email.AssertNoAttachments(); AssertCompatibleAddresses(email); }
public async Task <(IdentityResult result, UserRegistrationSuccessResponse registrationSuccessResponse)> CreateUser(User user, string password) { var invited = await _invitationRepository.IsInvited(user.Email); if (!invited) { var identityResult = IdentityResult.Failed(new IdentityError { Code = "INVITATION REQUIRED", Description = "Email not invited" }); return(identityResult, null); } var(result, registrationSuccessResponse, token) = await _usersRepository.Create(user, password); if (!result.Succeeded) { return(result, registrationSuccessResponse); } user.NormalizedEmail = user.Email.ToUpper(); user.NormalizedUserName = user.UserName.ToUpper(); var mail = new ActivationEmail(_mailConfig); _mailService.Send(mail.Build("/activate/" + token, new MailAddress(user.Email, user.UserName))); return(result, registrationSuccessResponse); }
public void TestMember() { // Create a member. var member = CreateMember(); // Create an email verification. var emailVerification = new EmailVerification { UserId = member.Id, EmailAddress = member.GetBestEmailAddress().Address }; _emailVerificationsCommand.CreateEmailVerification(emailVerification); // Send the email. var templateEmail = new ActivationEmail(member, emailVerification); _emailsCommand.TrySend(templateEmail); // Check. var email = _emailServer.AssertEmailSent(); email.AssertAddresses(Return, Return, member); email.AssertSubject(GetSubject()); email.AssertViewChecks(MediaTypeNames.Text.Html); email.AssertView(MediaTypeNames.Text.Html, GetBody(templateEmail, member, GetContent(templateEmail, member, emailVerification))); email.AssertNoAttachments(); AssertCompatibleAddresses(email); }
private void ActivationMailBuilder(string callbackUrl, string sendTo) { var email = new ActivationEmail { CallbackUrl = callbackUrl, To = sendTo }; email.Send(); }
protected void Create_Click(object sender, EventArgs e) { try { var userId = 0; var user = new User { FirstName = txtFirstName.Text.Trim(), LastName = txtLastName.Text.Trim(), LastName2 = txtLastName2.Text.Trim(), Email = txtEmail.Text.Trim(), Country = ddlCountry.SelectedValue, Username = txtUsername.Text.Trim(), Password = txtPassword.Text.Trim(), PasswordAge = Convert.ToInt32(txtAge.Text.Trim()), Age = Convert.ToInt32(ddlExpiration.SelectedValue), UserId = 0, PasswordLastSet = DateTime.Today, Active = false }; user.GenerateCode(user); userId = AccessDb.AddUser(user); switch (userId) { case -1: errorMessage.Text = "User Could not be created, Username is already in use"; break; case -2: errorMessage.Text = "User Could not be created, Email Address is already in use"; break; default: errorMessage.Text = "User registered, Confirm email to activate account"; StringWriter writer = new StringWriter(); Server.Execute("Email.aspx", writer); string html = writer.ToString(); var ae = new ActivationEmail(); ae.SendActivationEmail(user, html); AccessDb.AddActivation(user); break; } ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + errorMessage.Text + "');", true); CleanFields(); } catch (Exception) { throw; } }
public void SendEmail(Guid userId, int emailSeqNo) { var member = _membersQuery.GetMember(userId); // Only send if still not activated. if (!member.IsActivated) { var emailVerification = _emailVerificationsQuery.GetEmailVerification(userId, member.GetBestEmailAddress().Address); var email = new ActivationEmail(member, emailVerification); _emailsCommand.TrySend(email); } }
void IAccountVerificationsCommand.ResendActivation(IRegisteredUser user) { // Only supported for members at the moment. var member = user as IMember; if (member == null) { return; } // Find an existing verification or create a new one. var emailVerification = GetEmailVerification(member); // Send the email. var email = new ActivationEmail(member, emailVerification); _emailsCommand.TrySend(email); }
public ActionResult Create(FormCollection collection) { try { var eventItem = _eventRepository.GetById(new Guid(collection["EventId"])); var ipAddress = GetIPAddress(); var visitor = _visitorRepository.GetByEmail(collection["Email"]); if (visitor == null) { visitor = Visitor.Create(collection["Name"], collection["City"], collection["Email"], collection["Postcode"]); _visitorRepository.Insert(visitor); } /* * // Check if the visitor already registered on this day or earlier than legacy deadline * var registrations = _registrationRepository.GetByVisitorAndEvent(visitor.Id, eventItem); * if (registrations.Count() > 0) * { * DateTime legacyDate = eventItem.TimeRange.Start; * switch (_settings.LegacyPeriod.Unit) * { * case Profilan.SharedKernel.Unit.Hours: * legacyDate = eventItem.TimeRange.Start.AddHours(-1 * _settings.LegacyPeriod.Amount); * break; * case Profilan.SharedKernel.Unit.Minutes: * legacyDate = eventItem.TimeRange.Start.AddMinutes(-1 * _settings.LegacyPeriod.Amount); * break; * case Profilan.SharedKernel.Unit.Seconds: * legacyDate = eventItem.TimeRange.Start.AddSeconds(-1 * _settings.LegacyPeriod.Amount); * break; * case Profilan.SharedKernel.Unit.Days: * legacyDate = eventItem.TimeRange.Start.AddDays(-1 * _settings.LegacyPeriod.Amount); * break; * case Profilan.SharedKernel.Unit.Months: * legacyDate = eventItem.TimeRange.Start.AddMonths(-1 * _settings.LegacyPeriod.Amount); * break; * case Profilan.SharedKernel.Unit.Years: * legacyDate = eventItem.TimeRange.Start.AddYears(-1 * _settings.LegacyPeriod.Amount); * break; * default: * break; * } * * // Haal de bezochte registraties op (bezocht of bevestigd?) * var visitedRegistrations = _registrationRepository.GetVisitedByVisitor(visitor.Id); * * if (visitedRegistrations.Count() > 0) * { * var lastEvent = _eventRepository.GetById(visitedRegistrations.Last().Event.Id); * if (lastEvent.TimeRange.Start >= legacyDate) * { * return RedirectToAction("EarlyRegistered"); * } * } * * * if (registrations.Last().Confirmed == true) * { * return RedirectToAction("AlreadyRegistered"); * } * } */ // Voeg registratie toe var numberOfVisitors = Convert.ToInt32(collection["NumberOfVisitors"]); var registration = Registration.Create(visitor, eventItem, numberOfVisitors, false); registration.IPAddress = ipAddress; _registrationRepository.Insert(registration); // Verstuur een activatie email string themeTitle = ""; if (eventItem.Theme != null) { Theme theme = _themeRepository.GetById(eventItem.Theme.Id); themeTitle = "[" + theme.Title + "]"; } var activationUrl = Request.Url.GetLeftPart(UriPartial.Authority) + "/registration/confirm/" + registration.Id; var logoUrl = Request.Url.GetLeftPart(UriPartial.Authority) + "/img"; ActivationEmail email = new ActivationEmail() { To = collection["Email"], ActivationUrl = activationUrl, Name = collection["Name"], Date = eventItem.TimeRange.Start.ToString("dd-MM-yyyy"), TimeFrom = eventItem.TimeRange.Start.ToShortTimeString(), TimeTill = eventItem.TimeRange.End.ToShortTimeString(), NumberOfVisitors = numberOfVisitors, LogoUrl = logoUrl, ThemeTitle = themeTitle, }; email.Send(); return(RedirectToAction("ThankYou")); } catch (Exception e) { throw new Exception(e.Message); } }