public ActionResult Page03(int id, string submitButton, string homePageButton, string nextButton, string restartRegistrationButton, FormCollection collection)
        {
            if (this.CurrentRegistrationState != RegistrationState.Available)
            {
                return(this.RedirectToAction(this.CurrentRegistrationState.ToString()));
            }

            if (!string.IsNullOrEmpty(restartRegistrationButton))
            {
                return(this.RedirectToAction("Page01"));
            }

            // User submitted a new e-mail address after mailing the previous one failed.
            if (!string.IsNullOrEmpty(submitButton))
            {
                // Update Volunteer e-mail in the database.
                this.Repository.UpdateVolunteerEmail(id, collection["NewEmailTextBox"]);
                return(this.Page03(id));
            }

            BaseViewData viewData = new BaseViewData();

            this.SetBaseViewData(viewData);

            return(new RedirectResult(viewData.Config["HomePage"]));
        }
        public ActionResult SoonPost()
        {
            var viewData = new BaseViewData();

            this.SetBaseViewData(viewData);
            return(this.Redirect(viewData.Config["HomePage"]));
        }
        public ActionResult Soon()
        {
            BaseViewData viewData = new BaseViewData();

            this.SetBaseViewData(viewData);
            return(this.View(viewData));
        }
        public ActionResult Page03(int id, string submitButton, string homePageButton, string nextButton, string restartRegistrationButton, FormCollection collection)
        {
            // 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()));
            }

            if (!string.IsNullOrEmpty(restartRegistrationButton))
            {
                return(this.RedirectToAction("Page01"));
            }

            // User submitted a new e-mail address after mailing the previous one failed
            if (!string.IsNullOrEmpty(submitButton))
            {
                // Update Judge e-mail in the database
                this.Repository.UpdateJudgeEmail(id, collection["NewEmailTextBox"]);
                return(this.Page03(id));
            }

            BaseViewData viewData = new BaseViewData();

            this.SetBaseViewData(viewData);

            return(new RedirectResult(viewData.Config["HomePage"]));
            ////return RedirectToAction("Index", "Home");
        }
        public ActionResult BadEmail()
        {
            BaseViewData viewData = new BaseViewData();

            this.SetBaseViewData(viewData);

            // TODO: Test that this is the correct path to the BadEmail page, Rob - 01/18/2015.
            return(this.View("~/Views/Shared/BadEmail.cshtml"));
        }
 /// <summary>
 /// Set the configuration information required by every ViewData class/object.
 /// </summary>
 /// <param name="viewData">
 /// The view data.
 /// </param>
 protected void SetBaseViewData(BaseViewData viewData)
 {
     viewData.Config                   = this.Repository.Config;
     viewData.RegionName               = this.Repository.RegionName;
     viewData.RegionNumber             = this.Repository.RegionNumber;
     viewData.TournamentInfo           = this.Repository.TournamentInfo;
     viewData.FriendlyRegistrationName = this.FriendlyRegistrationName;
     viewData.SiteName                 = this.DetermineSiteName();
     viewData.PathToSiteCssFile        = this.DetermineSiteCssFile();
 }
        /// <summary>
        /// Is the current registration type set to be administratively down?
        /// </summary>
        /// <param name="registrationType">
        /// The registration type.
        /// </param>
        /// <returns>
        /// true if the registration is administratively down, false otherwise.
        /// </returns>
        public bool IsRegistrationDown(RegistrationType registrationType)
        {
            BaseViewData viewData = new BaseViewData();

            this.SetBaseViewData(viewData);

            bool registrationIsDown;

            bool.TryParse(viewData.Config["Is" + registrationType + "RegistrationDown"], out registrationIsDown);
            return(registrationIsDown);
        }
コード例 #8
0
        public BaseViewData GetBaseViewData(ModuleID moduleId)
        {
            BaseViewData value = null;

            if (allBaseViewData.TryGetValue(moduleId, out value) == false)
            {
                value = Activator.CreateInstance(Type.GetType(moduleId.ToString() + "ViewData")) as BaseViewData;
                allBaseViewData.Add(moduleId, value);
            }

            return(value);
        }
コード例 #9
0
        public ActionResult Index()
        {
            var viewData = new BaseViewData();

            this.SetBaseViewData(viewData);

            this.ViewData["Message"] =
                "Welcome to the " + this.repository.Config["RegionName"] + " Odyssey of the Mind Region " +
                this.repository.Config["RegionNumber"] + " Registration web pages.";

            return(this.View(viewData));
        }
コード例 #10
0
        /// <summary>
        /// Sends the provided e-mail message.
        /// </summary>
        /// <param name="viewData">
        /// Provides access to the Config information for the current registration.
        /// </param>
        /// <param name="mailMessage">
        /// The e-mail to send.
        /// </param>
        /// <returns>
        /// null on success, an error message otherwise.
        /// </returns>
        public string SendMessage(BaseViewData viewData, MailMessage mailMessage)
        {
            SmtpClient smtpClient = new SmtpClient
            {
                Host        = viewData.Config["EmailServer"],
                Credentials = new System.Net.NetworkCredential(
                    viewData.Config["WebmasterEmail"],
                    viewData.Config["WebmasterEmailPassword"])
            };

            // Send the mail message
            try
            {
                smtpClient.Send(mailMessage);
            }
            catch (SmtpFailedRecipientsException exception)
            {
                ErrorSignal.FromCurrentContext().Raise(exception);

                foreach (SmtpFailedRecipientException smtpFailedRecipientException in exception.InnerExceptions)
                {
                    SmtpStatusCode status = smtpFailedRecipientException.StatusCode;
                    switch (status)
                    {
                    case SmtpStatusCode.MailboxBusy:
                    case SmtpStatusCode.MailboxUnavailable:
                        Thread.Sleep(5000);
                        smtpClient.Send(mailMessage);
                        break;

                    default:
                        return(string.Format("Failed to deliver message to {0}", smtpFailedRecipientException.FailedRecipient));
                    }
                }
            }
            catch (SmtpException smtpException)
            {
                ErrorSignal.FromCurrentContext().Raise(smtpException);

                return(smtpException.StatusCode.ToString());
            }

            return(null);
        }
コード例 #11
0
        /// <summary>
        /// Determine whether the specified registration is coming soon based on the
        /// Config table in the database.
        /// </summary>
        /// <param name="registrationType">
        /// The registration type.
        /// </param>
        /// <returns>
        /// true if registration is coming soon, false otherwise.
        /// </returns>
        public bool IsRegistrationComingSoon(RegistrationType registrationType)
        {
            DateTime     registrationOpenDate;
            BaseViewData viewData = new BaseViewData();

            this.SetBaseViewData(viewData);

            try
            {
                registrationOpenDate = DateTime.Parse(viewData.Config[registrationType + "RegistrationOpenDateTime"]);
            }
            catch (Exception)
            {
                // If we cannot even read the opening time from the database, assume we've passed the opening date.
                return(false);
            }

            // TODO: Add app setting to decide what timezone to consider local.
            // TODO: Adjust for Eastern Time if not in Eastern Time, e.g. Pacific Time
            DateTime currentEasternTime = DateTime.Now; ////.AddHours(3);

            return(DateTime.Compare(currentEasternTime, registrationOpenDate) < 0);
        }
コード例 #12
0
        /// <summary>
        /// Determine whether the specified registration is closed based on the Config
        /// table in the database.
        /// </summary>
        /// <param name="registrationType">
        /// The registration type.
        /// </param>
        /// <returns>
        /// true if registration is closed, false otherwise.
        /// </returns>
        public bool IsRegistrationClosed(RegistrationType registrationType)
        {
            DateTime     registrationCloseDateTime;
            BaseViewData viewData = new BaseViewData();

            this.SetBaseViewData(viewData);

            try
            {
                registrationCloseDateTime = DateTime.Parse(viewData.Config[registrationType + "RegistrationCloseDateTime"]);
            }
            catch (Exception)
            {
                // If we cannot even read the closing time from the database, close down registration!
                return(true);
            }

            // TODO: Add app setting to decide what timezone to consider local.
            // TODO: Adjust for Eastern Time if not in Eastern Time, e.g. Pacific Time
            DateTime currentEasternTime = DateTime.Now; ////.AddHours(3);

            return(DateTime.Compare(registrationCloseDateTime, currentEasternTime) < 0);
        }
コード例 #13
0
 public BaseViewDataFixture()
 {
     _viewData = new BaseViewDataTestDouble();
 }
コード例 #14
0
ファイル: LoginModel.cs プロジェクト: QiangZou/ZQFramework
 public LoginModel(BaseViewData baseViewData, BaseModelData baseModelData) : base(baseViewData, baseModelData)
 {
 }
コード例 #15
0
 public PlayerModel(BaseViewData baseViewData, BaseModelData baseModelData) : base(baseViewData, baseModelData)
 {
 }
コード例 #16
0
 public StoreModel(BaseViewData baseViewData, BaseModelData baseModelData) : base(baseViewData, baseModelData)
 {
 }
コード例 #17
0
ファイル: BaseModel.cs プロジェクト: QiangZou/ZQFramework
 public BaseModel(BaseViewData baseViewData, BaseModelData baseModelData)
 {
     //this.BaseViewData = baseViewData;
     this.baseModelData = baseModelData;
 }