private void ActivationMailBuilder(string callbackUrl, string sendTo) { var email = new ActivationEmail { CallbackUrl = callbackUrl, To = sendTo }; email.Send(); }
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); } }