Esempio n. 1
0
        private void btnRemoveGrades_Click(object sender, RoutedEventArgs e)
        {
            if (GlobalDefines.IsRoundFinished(DBManagerApp.m_Entities.groups.First(arg => arg.id_group == m_GroupId).round_finished_flags, enRounds.Final))
            {   // Можно расставить разряды, т.к. соревы закончились
                List <participations> Members = (from member in DBManagerApp.m_Entities.members
                                                 join part in DBManagerApp.m_Entities.participations on member.id_member equals part.member
                                                 where part.Group == m_GroupId
                                                 orderby part.result_place
                                                 select part).ToList();

                foreach (participations part in Members)
                {
                    part.result_grade = null;
                }

                DBManagerApp.m_Entities.SaveChanges();

                MessageBox.Show(this,
                                Properties.Resources.resGradesRemoved,
                                Title,
                                MessageBoxButton.OK,
                                MessageBoxImage.Information);

                GradesChangedFromOpen = true;
            }
            else
            {
                MessageBox.Show(this, Properties.Resources.resCantSetGrades, Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 2
0
 public CResult()
 {
     RemoveFalsestart = new CCommand(RemoveFalsestart_Executed,
                                     () =>
     {
         return(AdditionalEventTypes.HasValue &&
                AdditionalEventTypes.Value.HasFlag(enAdditionalEventTypes.Falsestart) &&
                ResultInDB?.participations?.groups != null &&
                !GlobalDefines.IsRoundFinished(ResultInDB.participations.groups.round_finished_flags, (enRounds)ResultInDB.round));
     }
                                     );
 }
Esempio n. 3
0
        private void btnSetGrades_Click(object sender, RoutedEventArgs e)
        {
            btnCalcPlaces_Click(sender, e);

            if (GlobalDefines.IsRoundFinished(DBManagerApp.m_Entities.groups.First(arg => arg.id_group == m_GroupId).round_finished_flags, enRounds.Final))
            {   // Можно расставить разряды, т.к. соревы закончились
                List <participations> Members = (from member in DBManagerApp.m_Entities.members
                                                 join part in DBManagerApp.m_Entities.participations on member.id_member equals part.member
                                                 where part.Group == m_GroupId
                                                 orderby part.result_place
                                                 select part).ToList();
                if (chkOnly75PercentForCalcGrades.IsChecked.Value)
                {
                    Members = new List <participations>(Members.Take((int)Math.Floor(Members.Count * 0.75)));
                }
                byte PlaceInYear = 1;

                foreach (participations part in Members)
                {
                    part.result_grade = null;

                    if (part.result_place.HasValue && part.members.year_of_birth.HasValue && SelectedYears.Contains(part.members.year_of_birth.Value))
                    {   // Участник подходит по возрасту
                        for (int i = 0; i < m_MinPlaceForNewGrade.Count; i++)
                        {
                            if (PlaceInYear <= m_MinPlaceForNewGrade[i].Value)
                            {
                                part.result_grade = (byte)m_MinPlaceForNewGrade[i].Key;
                                break;
                            }
                        }

                        PlaceInYear++;
                    }
                }

                DBManagerApp.m_Entities.SaveChanges();

                GradesChangedFromOpen = true;
            }
            else
            {
                MessageBox.Show(this, Properties.Resources.resCantSetGrades, Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }