/// <summary> /// The generate email body. /// </summary> /// <param name="page03ViewData"> /// The page 03 view data. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> protected string GenerateEmailBody(Page03ViewData page03ViewData) { string input = Regex.Replace(Regex.Replace(Regex.Replace(Regex.Replace(page03ViewData.VolunteerInfo.EventMailBody, "<span>VolunteerID</span>", page03ViewData.Volunteer.VolunteerID.ToString(CultureInfo.InvariantCulture)), "<span>FirstName</span>", page03ViewData.Volunteer.FirstName), "<span>LastName</span>", page03ViewData.Volunteer.LastName), "<span>Region</span>", "Region " + page03ViewData.Config["RegionNumber"]); StringBuilder builder = new StringBuilder(); if (!string.IsNullOrWhiteSpace(page03ViewData.TournamentInfo.LocationURL)) { builder.Append("<a href=\"" + page03ViewData.TournamentInfo.LocationURL + "\" target=\"_blank\">"); } builder.Append(page03ViewData.TournamentInfo.Location); if (!string.IsNullOrWhiteSpace(page03ViewData.TournamentInfo.LocationAddress)) { builder.Append(", " + page03ViewData.TournamentInfo.LocationAddress); } if (!string.IsNullOrWhiteSpace(page03ViewData.TournamentInfo.LocationCity)) { builder.Append(", " + page03ViewData.TournamentInfo.LocationCity); } if (!string.IsNullOrWhiteSpace(page03ViewData.TournamentInfo.LocationState)) { builder.Append(", " + page03ViewData.TournamentInfo.LocationState); } if (!string.IsNullOrWhiteSpace(page03ViewData.TournamentInfo.LocationURL)) { builder.Append("</a>"); } return(Regex.Replace(Regex.Replace(Regex.Replace(Regex.Replace(input, "<span>TournamentLocation</span>", builder.ToString()), "<span>TournamentDate</span>", page03ViewData.TournamentInfo.StartDate.HasValue ? page03ViewData.TournamentInfo.StartDate.Value.ToLongDateString() : "TBA"), "<span>TournamentTime</span>", !string.IsNullOrWhiteSpace(page03ViewData.TournamentInfo.Time) ? page03ViewData.TournamentInfo.Time : "TBA"), "<span>ContactUsURL</span>", page03ViewData.Config["HomePage"] + page03ViewData.Config["ContactUsURL"])); }
public ActionResult Page03(int id) { if (this.CurrentRegistrationState != RegistrationState.Available) { return(this.RedirectToAction(this.CurrentRegistrationState.ToString())); } Page03ViewData viewData = new Page03ViewData { VolunteerInfo = this.Repository.VolunteerInfo }; this.SetBaseViewData(viewData); // Update the DateTime of the registration in the Volunteer record. viewData.Volunteer = this.Repository.GetVolunteerById(id); // This should NEVER happen! if (viewData.Volunteer == null) { // Volunteer not found; return error. viewData.ErrorMessage = "Your registration failed. Please try the registration process over again."; return(this.View(viewData)); } this.Repository.UpdateVolunteer(id, 3, viewData.Volunteer); viewData.MailBody = this.GenerateEmailBody(viewData); if (!string.IsNullOrEmpty(viewData.Volunteer.EmailAddress) && (viewData.Volunteer.EmailAddress != "None")) { viewData.EmailAddressWasSpecified = true; // Instantiate a new instance of MailMessage. MailMessage mailMessage = this.BuildMessage( viewData.Config["WebmasterEmail"], viewData.RegionName + " Odyssey Region " + viewData.RegionNumber + " " + viewData.FriendlyRegistrationName, viewData.MailBody, viewData.Volunteer.EmailAddress, null, null); if (mailMessage == null) { return(this.RedirectToAction("BadEmail")); } // Instantiate a new instance of SmtpClient. viewData.MailErrorMessage = this.SendMessage(viewData, mailMessage); } else { viewData.EmailAddressWasSpecified = false; } return(this.View(viewData)); }
public ActionResult Page03(int id) { if (this.CurrentRegistrationState != RegistrationState.Available) { return(this.RedirectToAction(this.CurrentRegistrationState.ToString())); } Page03ViewData viewData = new Page03ViewData(); this.SetBaseViewData(viewData); viewData.NoJudgesFound = false; return(this.View(viewData)); }
public ActionResult Page03(int id, Page03ViewData page03ViewData) { if (this.CurrentRegistrationState != RegistrationState.Available) { return(this.RedirectToAction(this.CurrentRegistrationState.ToString())); } try { this.SetBaseViewData(page03ViewData); this.UpdateModel(page03ViewData); page03ViewData.ListOfJudgesFound = this.Repository.GetJudgeByIdAndName( int.Parse(page03ViewData.JudgeId), page03ViewData.JudgeFirstName, page03ViewData.JudgeLastName); if (!page03ViewData.ListOfJudgesFound.Any()) { page03ViewData.NoJudgesFound = true; return(this.View(page03ViewData)); } // Make sure any judge found is not already assigned to a team. if ((page03ViewData.ListOfJudgesFound.First() != null) && (page03ViewData.ListOfJudgesFound.First().TeamID != null)) { page03ViewData.JudgeAlreadyTaken = true; return(this.View(page03ViewData)); } TournamentRegistration newRegistrationData = new TournamentRegistration { JudgeID = short.Parse(page03ViewData.JudgeId) }; // TODO: Send an e-mail reporting database failure; could not find the record already added to the database this.Repository.UpdateTournamentRegistration(id, 3, newRegistrationData); return(this.RedirectToAction("Page05", new { id })); } catch (Exception exception) { ErrorSignal.FromCurrentContext().Raise(exception); // TODO: Replace with Error Message return(this.RedirectToAction("Index", "Home")); } }
public ActionResult Page03(int id) { // If registration is currently closed, down, or coming soon, redirect to the appropriate page. if (this.CurrentRegistrationState != RegistrationState.Available) { return(this.RedirectToAction(this.CurrentRegistrationState.ToString())); } Page03ViewData viewData = new Page03ViewData { JudgesInfo = this.Repository.JudgesInfo }; this.SetBaseViewData(viewData); // Update the DateTime of the registration in the Judge record viewData.Judge = this.Repository.GetJudgeById(id).FirstOrDefault <Judge>(); // This should NEVER happen! if (viewData.Judge == null) { // Judge not found; return error viewData.ErrorMessage = "Your registration failed. Please try the registration process over again."; return(this.View(viewData)); } this.Repository.UpdateJudge(id, 3, viewData.Judge); viewData.MailBody = this.GenerateEmailBody(viewData); if (!string.IsNullOrWhiteSpace(viewData.Judge.EmailAddress) && (viewData.Judge.EmailAddress != "None")) { viewData.EmailAddressWasSpecified = true; MailMessage mailMessage = this.BuildMessage(viewData.Config["WebmasterEmail"], viewData.RegionName + " Odyssey Region " + viewData.RegionNumber + " " + viewData.FriendlyRegistrationName, viewData.MailBody, viewData.Judge.EmailAddress, null, null); if (mailMessage == null) { return(this.RedirectToAction("BadEmail")); } // Instantiate a new instance of SmtpClient viewData.MailErrorMessage = this.SendMessage(viewData, mailMessage); } else { viewData.EmailAddressWasSpecified = false; } return(this.View(viewData)); }