protected void sendMessageB_Click(object sender, EventArgs e) { int pid = selprob.ProblemID; Contest c = Contest.GetContest(Problem.GetProblem(pid).ContestID); if (c.Time == ContestTime.Current) { if (Page.IsValid) { Message m = null; if (User.IsInRole("User")) { m = new Message(pid, User.Identity.Name, DateTime.Now, MessageType.Question, messageTB.Text, ""); } else { m = new Message(pid, User.Identity.Name, DateTime.Now, MessageType.Clarification, "", messageTB.Text); } m.Store(); Response.Redirect(UrlRenderer.RenderQuestionsUrl(Problem.GetProblem(pid).ContestID)); } } else { throw new NeJudgeInvalidParametersException("pid"); //"—оревнование либо закончилось, либо ещЄ не начиналась." } }
private void InitLinks(int pid) { submitHL.NavigateUrl = UrlRenderer.RenderSubmitUrl(pid); askHL.NavigateUrl = UrlRenderer.RenderAskUrl(pid); printProblemHL.NavigateUrl = UrlRenderer.RenderPrintProblemUrl(pid); questionsHL.NavigateUrl = UrlRenderer.RenderQuestionsUrl(Problem.GetProblem(pid).ContestID); editHL.NavigateUrl = UrlRenderer.RenderEditProblemUrl(pid, 'p'); }
protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("Name"); dt.Columns.Add("Monitor"); dt.Columns.Add("Beginning", typeof(DateTime)); dt.Columns.Add("Ending", typeof(DateTime)); dt.Columns.Add("Status"); Contest[] cons = Contest.GetContests(ContestTime.Current | ContestTime.Forthcoming | ContestTime.Past); foreach (Contest cnt in cons) { DataRow dr = dt.NewRow(); dr[0] = cnt.ID; if (cnt.Time == ContestTime.Forthcoming && !Page.User.IsInRole("Administrator")) { dr[1] = cnt.Name; } else { dr[1] = UrlRenderer.RenderContestUrl(cnt); } if (cnt.Time == ContestTime.Forthcoming && !Page.User.IsInRole("Judge")) { dr[2] = "Недоступен"; } else { dr[2] = UrlRenderer.RenderMonitorUrl(cnt); } dr[3] = cnt.Beginning; dr[4] = cnt.Ending; switch (cnt.Time) { case ContestTime.Current: dr[5] = String.Format("Идет (конец через {0})", TimeUtils.BeautifyTimeSpan(cnt.Ending - DateTime.Now, false)); break; case ContestTime.Forthcoming: dr[5] = String.Format("Еще не начиналось (начало через {0})", TimeUtils.BeautifyTimeSpan(cnt.Beginning - DateTime.Now, false)); break; case ContestTime.Past: dr[5] = "Закончилось"; break; } dt.Rows.Add(dr); } contestsGV.DataSource = dt; contestsGV.DataBind(); }
/// <summary> /// Renders the content of the error. /// </summary> /// <param name="urlToRender">The error URL.</param> /// <returns>Return the Url content to write on respons stream.</returns> protected virtual string RenderUrlContent(string urlToRender) { using (var textWriter = new System.IO.StringWriter()) { var urlRenderer = new UrlRenderer { Url = urlToRender }; urlRenderer.Render(textWriter); return(textWriter.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ContestIDValidator cv = new ContestIDValidator(); cv.Process(); if (cv.ParameterDefined) { if (Contest.GetContest(cv.ValidatedValue).Time == ContestTime.Forthcoming && !Page.User.IsInRole("Administrator")) { throw new NeJudgeInvalidParametersException("contestID"); } //Hide("Ёто соревнование начнетс¤ через " + HtmlFunctions.BeautifyTimeSpan(db.GetContest(tid).Beginning - DateTime.Now, false) + ". —ейчас задачи посмотреть нельз¤."); #region —сылочки (Visible в зависимости от роли) statHL.NavigateUrl = UrlRenderer.RenderStatusUrl(cv.ValidatedValue); quesHL.NavigateUrl = UrlRenderer.RenderQuestionsUrl(cv.ValidatedValue); monHL.NavigateUrl = UrlRenderer.RenderMonitorUrl(cv.ValidatedValue); editHL.NavigateUrl = UrlRenderer.RenderEditContestUrl(cv.ValidatedValue); printHL.NavigateUrl = UrlRenderer.RenderPrintContestUrl(cv.ValidatedValue); if (Page.User.IsInRole("Anonymous")) { statHL.Visible = false; quesHL.Visible = false; } if (Page.User.IsInRole("Administrator")) { editHL.Visible = true; } #endregion } else { monHL.Visible = false; statHL.Visible = false; quesHL.Visible = false; printHL.Visible = false; } } }
public void goButton_Click(object sender, EventArgs e) { Response.Redirect(UrlRenderer.RenderProblemUrl(selprob.ProblemID)); }