protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ContestIDValidator cv = new ContestIDValidator(); cv.Process(); if (cv.ParameterDefined) { selcon.Visible = false; Contest t = Contest.GetContest(cv.ValidatedValue); if (!Page.User.IsInRole("Administrator") && t.Time == ContestTime.Forthcoming) { throw new NeJudgeInvalidParametersException("problemID"); } //"Соревнование, которое вы хотите просмотреть, ещё не началось. Попробуйте позже." problemsPH.Controls.Add(new LiteralControl("<div align='center'><h1 style='color:#418ade;'>" + t.Name + "</h1></div>")); foreach (Problem p in Problem.GetProblems(t.ID)) { problemsPH.Controls.Add(new LiteralControl("<hr/>")); ProblemView pv = (ProblemView)LoadControl("~/UC/problemview.ascx"); pv.ProblemID = p.ID; problemsPH.Controls.Add(pv); problemsPH.Controls.Add(new LiteralControl("<br/>")); } } else { problemsPH.Visible = false; } } }
private void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //Page.Response.AddHeader("Refresh","300"); ContestIDValidator cv = new ContestIDValidator(); cv.Process(); if (cv.ParameterDefined) { selcon.ContestID = cv.ValidatedValue; Contest con = Contest.GetContest(cv.ValidatedValue); if (con.Time == ContestTime.Forthcoming) { throw new NeJudgeException("Нельзя просмотреть монитор будущего соревнования"); } DateTime cur_time = TimeUtils.ZeroDateTime(DateTime.Now); DateTime t_begin = TimeUtils.ZeroDateTime(con.Beginning); DateTime t_end = TimeUtils.ZeroDateTime(con.Ending); // Последнее обновление TimeSpan dur = TimeUtils.ZeroTimeSpan(t_end - t_begin); TimeSpan elapsed = TimeUtils.ZeroTimeSpan((cur_time - t_begin < dur) ? cur_time - t_begin : dur); TimeSpan estimated = TimeUtils.ZeroTimeSpan(dur - elapsed); if (elapsed >= dur) { st_label.InnerHtml += "<span style='color:red;font-size:small;display:block;'>(Соревнование окончено)</span>"; } refresh.Text = TimeUtils.BeautifyTimeSpan(elapsed, false); // Продолжительность соревнования period.Text = TimeUtils.BeautifyTimeSpan(dur, false); left.Text = TimeUtils.BeautifyTimeSpan(estimated, false); /*ContestTypeHandler h = Factory.GetHandlerInstance(con.Type); * DataTable[] dts = h.MonitorManager.Build(con.ID); * for(int i = 0; i < dts.Length; i++) * { * DataTable dt = dts[i]; * monitorPH.Controls.Add(new LiteralControl(dt.TableName)); * DataGrid gv = new DataGrid(); * gv.Width = new Unit(100.0, UnitType.Percentage); * gv.CellPadding = 5; * gv.HeaderStyle.CssClass = "gridHeader"; * gv.DataSource = dt; * gv.DataBind(); * h.MonitorManager.PaintDataGrid(gv, i, dt.Columns.Count - 3); * monitorPH.Controls.Add(gv); * if ( i != dts.Length - 1 ) * monitorPH.Controls.Add(new LiteralControl("<br />")); * }*/ } else { info.Visible = false; } } }
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; } } }