protected bool CheckDeadline(bool modifications) { if (CurrentCompetition == null) { return(false); } if (User.IsInRole(Constants.ROLE_ADMIN, compID)) { return(DateTime.Now < CurrentCompetition.GetDateParam(Constants.PDB_COMP_START_DATE)); } string paramToCheck = modifications ? Constants.PDB_COMP_DEADLINE_CHANGE : Constants.PDB_COMP_DEADLINE; DateTime lastPossible = CurrentCompetition.GetDateParam(paramToCheck).AddDays(1.0); return(DateTime.Now < lastPossible); }
private void FillLists() { //string sWhere = ""; //DataTable dt = new DataTable(); //DataTable dtQ = new DataTable(); if (!User.IsInRole(Constants.ROLE_ADMIN, compID)) { lblAdmMessage.Visible = false; } lblAdmMessage.Text = ""; //string sOrderBy, sCmd; var climberNormList = from lnk in dc.ONLClimberCompLinks where lnk.comp_id == compID && lnk.state == Constants.CLIMBER_CONFIRMED orderby lnk.ONLteam.name, lnk.ONLGroup.oldYear, lnk.ONLGroup.genderFemale select new { num = lnk.queue_pos, iid = lnk.iid, secretary_id = lnk.secretary_id, name = lnk.ONLclimber.surname + " " + lnk.ONLclimber.name + (lnk.vk ? " (в/к)" : String.Empty), age = lnk.ONLclimber.age.Value, qf = lnk.qf, team = lnk.ONLteam.name, grp = lnk.ONLGroup.name, lead = lnk.queue_Lead < 1 ? (lnk.lead == 1 ? "+" : (lnk.lead == 2 ? "Лично" : "-")) : "Оч." /* + lnk.queue_Lead.ToString()*/, //lnk.lead, speed = lnk.queue_Speed < 1 ? (lnk.speed == 1 ? "+" : (lnk.speed == 2 ? "Лично" : "-")) : "Оч." /* + lnk.queue_Speed.ToString()*/, //lnk.speed, boulder = lnk.queue_Boulder < 1 ? (lnk.boulder == 1 ? "+" : (lnk.boulder == 2 ? "Лично" : "-")) : "Оч." /* + lnk.queue_Boulder.ToString()*/, //lnk.boulder, appl_type = lnk.appl_type, is_changeble = lnk.is_changeble, ONLlink = lnk, queue_pos = lnk.queue_pos, group_p = lnk.ONLGroup }; string sF = getTeamRestr(); int teamF = -1; try { if (!String.IsNullOrEmpty(sF)) { teamF = int.Parse(sF); } else if (!String.IsNullOrEmpty(teamList.SelectedValue)) { teamF = int.Parse(teamList.SelectedValue); } } catch { } if (teamF > 0) { climberNormList = climberNormList.Where(a => a.ONLlink.team_id == teamF); } if (!String.IsNullOrEmpty(sF)) { climberNormList = climberNormList.Where(a => a.ONLlink.replacementID == null); } int groupF = String.IsNullOrEmpty(groupsList.SelectedValue) ? -1 : int.Parse(groupsList.SelectedValue); if (groupF > 0) { climberNormList = climberNormList.Where(a => a.ONLlink.group_id == groupF); } var comp = (from c in dc.ONLCompetitions where c.iid == compID select c).First(); DateTime?lastUpd; try { lastUpd = dc.ONLClimberCompLinks.Where(lnk => lnk.comp_id == compID).OrderByDescending(l => l.sys_date_update).First().sys_date_update; } catch { lastUpd = null; } lbl1.Text = (lastUpd == null) ? String.Empty : ("Список создан в " + lastUpd.Value.ToUniversalTime().ToShortDateString() + " " + lastUpd.Value.ToUniversalTime().ToLongTimeString()); if (User.Identity.IsAuthenticated(compID) && !User.IsInRole(Constants.ROLE_ADMIN, compID)) { uncList.ReloadData(); uncList.Visible = true; } clList.DataSource = (from t in climberNormList orderby t.team, t.group_p.genderFemale, t.group_p.oldYear, t.name, t.num select t); clList.DataBind(); for (int i = 0; i < clList.Rows.Count; i++) { clList.Rows[i].Cells[1].Text = (i + 1).ToString(); } var climberQueueList = climberNormList.Where(a => a.queue_pos > 0); climberNormList = climberNormList.Where(b => b.queue_pos < 1); panelQueue.Visible = (climberQueueList.Count() > 0); if (panelQueue.Visible) { gvQueue.DataSource = (from t in climberQueueList orderby t.group_p.genderFemale, t.group_p.oldYear, t.group_p.iid, t.queue_pos, t.team, t.name, t.num select t); gvQueue.DataBind(); } try { bool lead = CurrentCompetition.Lead(), speed = CurrentCompetition.Speed(), boulder = CurrentCompetition.Boulder(); if (!User.Identity.IsAuthenticated(compID)) { foreach (var dfc in clList.Columns) { ButtonField bf = dfc as ButtonField; if (bf != null) { bf.Visible = false; } BoundField cf = dfc as BoundField; if (cf != null) { if (!lead && cf.DataField.Equals("lead", StringComparison.InvariantCultureIgnoreCase)) { cf.Visible = false; } else if (!speed && cf.DataField.Equals("speed", StringComparison.InvariantCultureIgnoreCase)) { cf.Visible = false; } else if (!boulder && cf.DataField.Equals("boulder", StringComparison.InvariantCultureIgnoreCase)) { cf.Visible = false; } } CheckBoxField cbf = dfc as CheckBoxField; if (cbf != null && cbf.DataField.Equals("is_changeble", StringComparison.InvariantCultureIgnoreCase)) { cbf.Visible = false; } } foreach (var dfc in gvQueue.Columns) { ButtonField bf = dfc as ButtonField; if (bf != null) { bf.Visible = false; } BoundField cf = dfc as BoundField; if (cf != null) { if (!lead && cf.DataField.Equals("lead", StringComparison.InvariantCultureIgnoreCase)) { cf.Visible = false; } else if (!speed && cf.DataField.Equals("speed", StringComparison.InvariantCultureIgnoreCase)) { cf.Visible = false; } else if (!boulder && cf.DataField.Equals("boulder", StringComparison.InvariantCultureIgnoreCase)) { cf.Visible = false; } } CheckBoxField cbf = dfc as CheckBoxField; if (cbf != null && cbf.DataField.Equals("is_changeble", StringComparison.InvariantCultureIgnoreCase)) { cbf.Visible = false; } } } } catch { } /* * try * { * cn.Close(); * clList.DataSource = dt; * clList.DataBind(); * * panelQueue.Visible = (dtQ.Rows.Count > 0); * if (panelQueue.Visible) * { * gvQueue.DataSource = dtQ; * gvQueue.DataBind(); * } * * } * catch { }*/ }
protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (!IsPostBack) { string sParam; try { sParam = CurrentCompetition.GetStringParam(Constants.PDB_COMP_ADD_APPL_INFO); } catch { sParam = String.Empty; } if (String.IsNullOrEmpty(sParam)) { lblNotifAdd.Visible = false; } else { lblNotifAdd.Visible = true; lblNotifAdd.Text = sParam; } bool needToSetMessage = !CheckDeadline(false); bool closeApp = !CheckDeadline(true) || needToSetMessage && !CurrentCompetition.GetBooleanParam(Constants.PDB_COMP_ALLOW_AFTER_DEADLINE); if (closeApp) { panelClimbers.Visible = false; lblMessageTop.Text = "Приём заявок на данные соревнования окончен."; AppsData.Enabled = false; lblNotifDeadline.Visible = false; return; } else if (needToSetMessage) { lblNotifDeadline.Visible = true; lblNotifDeadline.Text = "<br />Приём заявок закончен. Дальнейшие заявки возможны только по согласованию с организаторами"; } else { lblNotifDeadline.Visible = false; } try { panelConfirm.Visible = false; panelClimbers.Enabled = true; cbTeam.Items.Clear(); if (User.IsInRole(Constants.ROLE_ADMIN, compID)) { var tList = from t in dc.ONLteams where t.ONLTeamsCompLinks.Count(l => l.comp_id == compID) > 0 orderby t.name ascending select new { iid = t.iid, name = t.name }; cbTeam.Enabled = true; foreach (var t in tList) { cbTeam.Items.Add(new ListItem(t.name, t.iid.ToString())); } } else { MembershipUser mUser = Membership.GetUser(User.Identity.Name); if (mUser is ClmUser) { ONLteam team = ((ClmUser)mUser).Usr.ONLteam; if (team != null) { cbTeam.Items.Clear(); cbTeam.Items.Add(new ListItem(team.name, team.iid.ToString())); cbTeam.SelectedValue = team.iid.ToString(); cbTeam.Enabled = false; } } } uncClm.btnAddAppEnabled = false; ReloadData(); if (panelClimbers.Visible && panelClimbers.Enabled) { ClearForm(); } } catch { } finally { try { cn.Close(); } catch { } } } if (Request.Browser.EcmaScriptVersion.Major >= 1) { if (!Page.ClientScript.IsClientScriptBlockRegistered(Constants.SCRIPT_TEAM_SEL_ID)) { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), Constants.SCRIPT_TEAM_SEL_ID, " var teamSelID = '" + cbTeam.ClientID + "'; " + " var compID = " + compID.ToString() + "; ", true); } if (!Page.ClientScript.IsClientScriptBlockRegistered(Constants.SCRIPT_CLIMBER_VALIDATE)) { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), Constants.SCRIPT_CLIMBER_VALIDATE, "<script src=\"../Scripts/MyScripts.js\" type=\"text/javascript\"></script>"); } if (!Page.ClientScript.IsClientScriptBlockRegistered("FORM_VALIDATESCRIPT")) { string script = "<script type=\"text/javascript\"> \r\n" + " function ValidateAllForms() { \r\n" + " var hasErrors = false; \r\n" + " var f; \r\n" + " var allEmpty = true; \r\n"; List <ClimberControl> clList = new List <ClimberControl>(); clList.Add(ClimberControl1); clList.Add(ClimberControl2); clList.Add(ClimberControl3); clList.Add(ClimberControl4); foreach (var c in clList) { script += " f = ValidateLabel('" + c.TbName_ClientID + "', '" + c.LblError_ClientID + "'); \r\n" + " if (!hasErrors && f > 0) \r\n" + " hasErrors = true; \r\n" + " if (allEmpty && f > -1) \r\n" + " allEmpty = false; \r\n"; } script += " if(allEmpty) { \r\n" + " alert('Вы не ввели ни одного участника'); \r\n" + " return false; \r\n " + " } \r\n" + " if (hasErrors) \r\n" + " return confirm('Возможно, вы ввели ошибочные данные. Продолжить?'); \r\n" + " return true; \r\n " + " }; \r\n" + "</script>"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "FORM_VALIDATESCRIPT", script); } if (String.IsNullOrEmpty(btnSubmitClimbers.Attributes["onclick"])) { btnSubmitClimbers.Attributes.Add("onclick", "return ValidateAllForms();"); } } }