예제 #1
0
 public void SetClimber(ONLClimberCompLink lnk)
 {
     try
     {
         if (lnk == null)
         {
             lblMessage1.Text = "Участник не найден";
             return;
         }
         ONLclimber clm = lnk.ONLclimber;
         hfIid.Value                   = lnk.iid.ToString();
         hfTeamID.Value                = lnk.team_id.ToString();
         tbName1.Text                  = clm.surname + " " + clm.name;
         tbAge1.Text                   = clm.age.ToString();
         cbGender1.SelectedValue       = (clm.genderFemale ? "1" : "0");
         cbQf1.SelectedValue           = lnk.qf;
         cbSelectLead.SelectedIndex    = lnk.lead;
         cbSelectSpeed.SelectedIndex   = lnk.speed;
         cbSelectBoulder.SelectedIndex = lnk.boulder;
         //cbl1.Items[0].Selected = Lead && lnk.lead;
         //cbl1.Items[1].Selected = Speed && lnk.speed;
         //cbl1.Items[2].Selected = Boulder && lnk.boulder;
         lblGroup.Text = lnk.ONLGroup.name;
         SetEnabled();
     }
     catch (Exception ex)
     {
         lblMessage1.Text = "Ошибка установки участника";
         if (Page.User.IsInRole("ADM"))
         {
             lblMessage1.Text += ": " + ex.Message;
         }
     }
 }
 private void RemoveUnconfirmedLink(ONLClimberCompLink lnk)
 {
     while (lnk.ONLClimberCompLink1.Count > 0)
     {
         var lInner = lnk.ONLClimberCompLink1.First();
         lInner.replacementID       = null;
         lInner.ONLClimberCompLink2 = null;
         lnk.ONLClimberCompLink1.Remove(lInner);
     }
     dc.ONLClimberCompLinks.DeleteObject(lnk);
 }
 private void DeleteAdmin(ONLClimberCompLink lnk)
 {
     try
     {
         foreach (var c in lnk.ONLClimberCompLink1)
         {
             c.replacementID = null;
         }
         dc.ONLClimberCompLinks.DeleteObject(lnk);
         dc.SaveChanges();
         FillLists();
     }
     catch (Exception ex)
     {
         lblAdmMessage.Text = "Ошибка удаления: " + ex.Message;
     }
 }
        private void DeleteUser(ONLClimberCompLink lnk)
        {
            long oldIid = lnk.iid;
            ONLClimberCompLink lnkDel = dc.ONLClimberCompLinks.First(l => l.iid == lnk.iid);

            if (lnkDel.EntityState != EntityState.Detached)
            {
                dc.ONLClimberCompLinks.Detach(lnkDel);
            }
            long newIid = dc.ONLClimberCompLinks.OrderByDescending(l => l.iid).First().iid + 1;

            lnkDel.iid   = newIid;
            lnkDel.state = Constants.CLIMBER_PENDING_DELETE;
            var op = GetOperation();

            lnkDel.updOpIid     = op.iid;
            lnkDel.ONLoperation = op;
            dc.ONLClimberCompLinks.AddObject(lnkDel);
            dc.SaveChanges();

            lnk = dc.ONLClimberCompLinks.First(i => i.iid == oldIid);
            lnk.replacementID = newIid;

            dc.SaveChanges();

            panelView.Enabled  = true;
            panelEdit.Visible  = false;
            panelQueue.Enabled = true;

            try
            {
                uncList.LblMessageText = "Удаление принято. Для отправки изменений старшему тренеру Вашего региона нажмите на \"Подтвердить все заявки через e-mail\"";
                FillLists();
            }
            catch { }
        }
예제 #5
0
        public ONLClimberCompLink createClimber(string teamId, out bool newClimber, out ONLclimber createdClm)
        {
            createdClm = null;
            newClimber = false;
            string errMessage = "";

            try
            {
                int age;
                if (!int.TryParse(tbAge1.Text, out age))
                {
                    errMessage = "Год введён неправильно.";
                    return(null);
                }
                if (age < 0)
                {
                    errMessage = "Год введён неправильно.";
                    return(null);
                }
                if (age <= 20)
                {
                    age += 2000;
                }
                if (age <= 99)
                {
                    age += 1900;
                }
                if (age > DateTime.Now.Year)
                {
                    errMessage = "Год введён неправильно.";
                    return(null);
                }
                string surname, name, srcName;
                srcName = tbName1.Text.Trim();
                while (srcName.IndexOf("  ") > -1)
                {
                    srcName = srcName.Replace("  ", " ");
                }
                srcName      = srcName.Replace('ё', 'е');
                tbName1.Text = srcName;
                if (String.IsNullOrEmpty(srcName))
                {
                    errMessage = "Фамилия не введена";
                    return(null);
                }
                int n = srcName.IndexOf(' ');
                if (n < 0)
                {
                    surname = srcName;
                    name    = String.Empty;
                }
                else
                {
                    surname = srcName.Substring(0, n);
                    try { name = srcName.Substring(n + 1); }
                    catch { name = String.Empty; }
                }
                bool genderFemale = (cbGender1.SelectedValue == "1");
                var  bp           = Page as BasePage;
                long?grpID;
                if (bp != null)
                {
                    grpID = bp.CurrentCompetition.GetClimbersGroup(age, genderFemale);
                }
                else
                {
                    grpID = dc.ONLCompetitions.Where(c => c.iid == compID).First().GetClimbersGroup(age, genderFemale);
                }

                if (grpID == null || !grpID.HasValue)
                {
                    errMessage = "Участник не входит ни в одну возрастную группу";
                    return(null);
                }
                ONLGroup gr = dc.ONLGroupsCompLinks.Where(grl => grl.iid == grpID.Value).First().ONLGroup;
                lblGroup.Text = gr.name;

                string t_id = (String.IsNullOrEmpty(hfTeamID.Value)  ? teamId : hfTeamID.Value);

                int teamIDToSet;
                if (!int.TryParse(t_id, out teamIDToSet))
                {
                    teamIDToSet = -1;
                }

                ONLteam teamToSet;
                try { teamToSet = dc.ONLteams.First(t => t.iid == teamIDToSet); }
                catch { teamToSet = null; }
                if (teamToSet == null)
                {
                    errMessage = "Команда выбрана не верно";
                    return(null);
                }
                try
                {
                    createdClm = dc.ONLclimbers.First(c =>
                                                      c.surname == surname && c.name == name && c.age == age);
                    createdClm.surname = surname;
                    createdClm.name    = name;
                    dc.SaveChanges();
                }
                catch
                {
                    createdClm         = ONLclimber.CreateONLclimber(0, genderFemale, new DateTime(age, 1, 5), false, false);
                    createdClm.name    = name;
                    createdClm.surname = surname;
                    newClimber         = true;
                }

                if (cbSelectLead.SelectedIndex < 0)
                {
                    cbSelectLead.SelectedIndex = 0;
                }
                if (cbSelectSpeed.SelectedIndex < 0)
                {
                    cbSelectSpeed.SelectedIndex = 0;
                }
                if (cbSelectBoulder.SelectedIndex < 0)
                {
                    cbSelectBoulder.SelectedIndex = 0;
                }

                string             sQf = cbQf1.SelectedValue == null ? String.Empty : cbQf1.SelectedValue;
                ONLClimberCompLink lnk = ONLClimberCompLink.CreateONLClimberCompLink(
                    iid: 0,
                    climber_id: createdClm.iid,
                    comp_id: compID,
                    secretary_id: 0,
                    group_id: gr.iid,
                    team_id: teamIDToSet,
                    qf: sQf,
                    lead: (short)(Lead ? cbSelectLead.SelectedIndex : 0),
                    speed: (short)(Speed ? cbSelectSpeed.SelectedIndex : 0),       // (Speed && cbl1.Items[1].Selected),
                    boulder: (short)(Boulder ? cbSelectBoulder.SelectedIndex : 0), // (Boulder && cbl1.Items[2].Selected),
                    vk: false,
                    nopoints: false,
                    appl_type: String.Empty,
                    is_changeble: true,
                    queue_pos: 0,
                    sys_date_create: DateTime.UtcNow,
                    sys_date_update: DateTime.UtcNow,
                    state: Constants.CLIMBER_PENDING_UPDATE,
                    queue_Lead: 0,
                    queue_Speed: 0,
                    queue_Boulder: 0);
                lnk.ONLclimber = createdClm;
                try
                {
                    if (lnk.EntityState != EntityState.Detached)
                    {
                        dc.ONLClimberCompLinks.Detach(lnk);
                    }
                }
                catch { }
                try
                {
                    if (newClimber && lnk.ONLclimber.EntityState != EntityState.Detached)
                    {
                        dc.ONLclimbers.Detach(lnk.ONLclimber);
                    }
                }
                catch { }



                //if (!String.IsNullOrEmpty(hfIid.Value))
                //{
                //    int nIid;
                //    if (int.TryParse(hfIid.Value, out nIid))
                //        lnk.iid = nIid;
                //}

                if (lnk.lead == 0 && lnk.speed == 0 && lnk.boulder == 0)
                {
                    errMessage = "Не выбраны виды для участия.";
                    return(null);
                }
                return(lnk);
            }
            catch (Exception ex)
            {
                errMessage = "Ошибка создания объекта";
                if (Page.User.IsInRole(Constants.ROLE_ADMIN, compID))
                {
                    errMessage += ": " + ex.Message;
                }
                return(null);
            }
            finally { lblMessage1.Text = errMessage; }
        }
        private void ConfirmAdmin(ONLClimberCompLink uCl, ONLClimberCompLink old)
        {
            int?rLead, rSpeed, rBoulder;
            int nTmp;

            if (String.IsNullOrEmpty(tbRnkLead.Text))
            {
                rLead = null;
            }
            else if (int.TryParse(tbRnkLead.Text.Trim(), out nTmp))
            {
                rLead = nTmp;
            }
            else
            {
                climberEditControl.ErrMessage = "Рейтинг в трудности введён неправильно";
                return;
            }

            if (String.IsNullOrEmpty(tbRnkSpeed.Text))
            {
                rSpeed = null;
            }
            else if (int.TryParse(tbRnkSpeed.Text.Trim(), out nTmp))
            {
                rSpeed = nTmp;
            }
            else
            {
                climberEditControl.ErrMessage = "Рейтинг в скорости введён неправильно";
                return;
            }

            if (String.IsNullOrEmpty(tbRnkBoulder.Text))
            {
                rBoulder = null;
            }
            else if (int.TryParse(tbRnkBoulder.Text.Trim(), out nTmp))
            {
                rBoulder = nTmp;
            }
            else
            {
                climberEditControl.ErrMessage = "Рейтинг в боулдеринге введён неправильно";
                return;
            }

            old.appl_type    = tbComment.Text;
            old.boulder      = uCl.boulder;
            old.is_changeble = cbChangeble.Checked;
            old.lead         = uCl.lead;
            old.qf           = uCl.qf;
            if (!cbQueue.Checked)
            {
                old.queue_pos = 0;
            }
            else if (old.queue_pos < 1)
            {
                old.queue_pos = 1;
            }
            old.rankingBoulder  = rBoulder;
            old.rankingLead     = rLead;
            old.rankingSpeed    = rSpeed;
            old.replacementID   = null;
            old.speed           = uCl.speed;
            old.sys_date_update = DateTime.UtcNow;

            if (uCl.EntityState != EntityState.Detached)
            {
                dc.ONLClimberCompLinks.Detach(uCl);
            }

            dc.SaveChanges();
        }
예제 #7
0
        protected override void Page_Load(object sender, EventArgs e)
        {
            base.Page_Load(sender, e);
            if (IsPostBack)
            {
                return;
            }

            try
            {
                long lnkIid = Request.GetLongParam("iid");
                if (lnkIid > 0)
                {
                    link = dc.ONLClimberCompLinks.First(l => l.iid == lnkIid);
                }
                else
                {
                    long compIDC = Request.GetLongParam(Constants.PARAM_COMP_ID);
                    int  secrID  = (int)Request.GetLongParam(Constants.PARAM_SECRETARY_ID);
                    link = dc.ONLClimberCompLinks.First(l => l.comp_id == compIDC && l.secretary_id == secrID);
                }
            }
            catch
            {
                link = null;
                Response.Redirect("~/ClimbersList.aspx");
            }



            name  = link.ONLclimber.surname.ToUpper() + " " + link.ONLclimber.name;
            team  = link.ONLteam.name;
            age   = link.ONLclimber.age.ToString();
            group = link.ONLGroup.name;
            qf    = link.qf;

            rLead       = link.rankingLead == null ? String.Empty : link.rankingLead.Value.ToString();
            rSpeed      = link.rankingSpeed == null ? String.Empty : link.rankingSpeed.Value.ToString();
            rBoulder    = link.rankingBoulder == null ? String.Empty : link.rankingBoulder.Value.ToString();
            Label3.Text = link.vk ? ("Участни" + (link.ONLclimber.genderFemale ? "ца" : "к")) : String.Empty;
            try { FillRes(); }
            catch { }
            finally { getPhoto(); }


            lblName.Text  = name;
            lblGroup.Text = group;
            lblTeam.Text  = team;
            lblIid.Text   = link.secretary_id.ToString();
            lblAge.Text   = age;
            lblQf.Text    = qf;

            if (rLead == "")
            {
                lblRLead.Visible = false;
            }
            else
            {
                lblRLead.Text    = "<br \\>Трудность: " + rLead + " место";
                lblRLead.Visible = true;
            }

            if (rSpeed == "")
            {
                lblRSpeed.Visible = false;
            }
            else
            {
                lblRSpeed.Text    = "<br \\>Скорость: " + rSpeed + " место";
                lblRSpeed.Visible = true;
            }

            if (rBoulder == "")
            {
                lblRBoulder.Visible = false;
            }
            else
            {
                lblRBoulder.Text    = "<br \\>Боулдеринг: " + rBoulder + " место";
                lblRBoulder.Visible = true;
            }
        }
예제 #8
0
 public ClimberLink(ONLClimberCompLink lnk, ONLclimber clm, bool newClm)
 {
     this.Link       = lnk;
     this.Climber    = clm;
     this.NewClimber = newClm;
 }