Ejemplo n.º 1
0
        public void UpadateSearch()
        {
            this.Catalog.Clear(); //Очистка каталога,который мы показываем в области контента
            //начинаем сортировку исходных данных
            this.catalogSourse.Where(f =>

                                     //1 ищем соответствие по тексту, введенному в строку поиска
                                     //если в поле поиска ничего не введенно, то ее не учитываем
                                     string.IsNullOrWhiteSpace(searchText) |
                                     //ищем текст введенных в поле поиска в названии фильма
                                     f.Name.Contains(searchText) |
                                     //ищем текст введенных в поле поиска в описании фильма
                                     f.Description.ToLower().Contains(searchText.ToLower())

                                     //2 ищем соответствие по жанру,выбранному пользователем
                                     //если жанр не выбран, то мы игнорируем его
                                     && (SelectedGenres.Equals(string.Empty) |
                                     //Сравниваем выбранный пользоватлем жанр с имеющимися в фильме жанрами
                                         f.Genre.Select(c => c.ToLower()).Contains(SelectedGenres.ToLower()))

                                     //3 ищем соответствие по году,выбранному пользователем
                                     //если год не выбран, то мы игнорируем его
                                     && (SelectedYears.Equals(string.Empty) |
                                     //Сравниваем выбранный пользоватлем год с имеющимися в фильме жанрами
                                         f.Year.ToString().Equals(SelectedYears))
                                     //Обьединяем результаты и добавляем их в каталог,который мы показываем в области контента
                                     ).ToList().ForEach(c => Catalog.Add(c));
        }
Ejemplo n.º 2
0
        public void CbSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (sender is ListBox LB)
            {
                switch (LB.Name)
                {
                case "Gestione":
                    _selectedOwners.Clear();
                    foreach (RegistryOwner item in LB.SelectedItems)
                    {
                        _selectedOwners.Add(item);
                    }
                    break;

                case "Conto":
                    _selectedAccount.Clear();
                    foreach (RegistryLocation registryLocation in LB.SelectedItems)
                    {
                        _selectedAccount.Add(registryLocation);
                    }
                    break;

                case "Anni":
                    SelectedYears.Clear();
                    foreach (int y in LB.SelectedItems)
                    {
                        SelectedYears.Add(y);
                    }
                    break;

                case "Valute":
                    if (e.AddedItems.Count > 0)
                    {
                        if (e.AddedItems[0] is RegistryCurrency RC)
                        {
                            SelectedCurrency = RC.IdCurrency;
                        }
                    }
                    break;
                }
            }
            if (sender is ComboBox CB)
            {
                if (CB.Items.Count > 0)
                {
                    TitoloSelezionato = (int)(((RegistryShare)CB.SelectedItem).id_titolo);
                }
            }
            CanClear = true;
        }
Ejemplo n.º 3
0
        private void chkSelectAll_Click(object sender, RoutedEventArgs e)
        {
            if (chkSelectAll.IsChecked.HasValue)
            {
                foreach (FilterPredicate cathegory in CompYears)
                {
                    cathegory.PropertyChanged -= CompYear_PropertyChanged;
                    cathegory.IsSelected       = chkSelectAll.IsChecked.Value;
                    cathegory.PropertyChanged += CompYear_PropertyChanged;
                }

                CalcEnabled = CompYears.Count > 0 && (chkSelectAll.IsChecked == null || chkSelectAll.IsChecked.Value);
                SelectedYears.Clear();
            }
        }
Ejemplo n.º 4
0
        private void CompYear_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (CompYears.All(arg => arg.IsSelected))
            {   // Все элементы выбраны
                chkSelectAll.IsChecked = true;
            }
            else if (CompYears.All(arg => !arg.IsSelected))
            {   // Все элементы не выбраны
                chkSelectAll.IsChecked = false;
            }
            else
            {   // Что-то выбрано, а что-то нет
                chkSelectAll.IsChecked = null;
            }

            CalcEnabled = CompYears.Count > 0 && (chkSelectAll.IsChecked == null || chkSelectAll.IsChecked.Value);
            SelectedYears.Clear();
        }
Ejemplo n.º 5
0
        public bool CanDoReport(object param)
        {
            switch (ReportSelezionato)
            {
            case "PL":
            case "DPL":
                if (_selectedOwners.Count() > 0 && SelectedYears.Count() > 0)
                {
                    return(true);
                }
                return(false);

            case "Titolo":
                if (_selectedOwners.Count() > 0 && TitoloSelezionato != 0)
                {
                    return(true);
                }
                return(false);

            case "ElencoTitoliAttivi":
                if (_selectedOwners.Count() > 0 && _selectedAccount.Count > 0)
                {
                    return(true);
                }
                return(false);

            case "AnalisiPortafoglio":
                if (_selectedOwners.Count() > 0)
                {
                    return(true);
                }
                return(false);

            case "Guadagni":
                return(true);

            case "DeltaAnni":
                if (_selectedOwners.Count() > 0 && SelectedYears.Count() >= 2)
                {
                    return(true);
                }
                return(false);

            case "DeltaMese":
                if (_selectedOwners.Count() > 0 && SelectedYears.Count() == 2)
                {
                    return(true);
                }
                return(false);

            case "MovimentiContoGestione":
                if (_selectedAccount.Count() == 1 && _selectedOwners.Count() == 1 && SelectedYears.Count() == 1 && SelectedCurrency != 0)
                {
                    return(true);
                }
                return(false);

            default:
                return(false);
            }
        }
Ejemplo n.º 6
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);
            }
        }
Ejemplo n.º 7
0
        private void btnCalcPlaces_Click(object sender, RoutedEventArgs e)
        {
            // Присвоение разрядов
            IEnumerable <CMemberInTotal> MembersForGradesCalc = from member in m_CompMembers
                                                                where member.MemberInfo.InitGrade.HasValue && SelectedYears.Contains(member.MemberInfo.YearOfBirth.Value)
                                                                where member.Place.HasValue
                                                                select member;

            if (chkOnly75PercentForCalcGrades.IsChecked.Value)
            {   // Учитываем только 75% участников
                MembersForGradesCalc = (from member in MembersForGradesCalc
                                        orderby member.Place
                                        select member).Take((int)(Math.Floor(MembersForGradesCalc.Count() * 0.75)));
            }
            Dictionary <enGrade?, int> GradesStat = (from member in MembersForGradesCalc
                                                     group member by member.MemberInfo.InitGrade into MembersGrades
                                                     select new Scanning.CGroupResultsManager.CGradeStat
            {
                Grade = (enGrade?)MembersGrades.Key,
                MembersWithGrade = MembersGrades.Count(arg => arg.MemberInfo.InitGrade == MembersGrades.Key)
            }).ToDictionary(key => key.Grade, item => item.MembersWithGrade);
            int tmp = 0;

            for (enGrade grade = enGrade.WithoutGrade; grade <= enGrade.Master; grade++)
            {
                if (!GradesStat.TryGetValue(grade, out tmp))
                {
                    GradesStat[grade] = 0;
                }
            }

            m_MinPlaceForNewGrade.Clear();

            // 1 разряд
            tmp = GlobalDefines.CalcMinPlaceForNewGrade((enResultGradeCalcMethod)cmbResultGradeCalcMethod.SelectedIndex,
                                                        1.0 * GradesStat[enGrade.Master] +
                                                        0.8 * GradesStat[enGrade.BeforeMaster] +
                                                        0.4 * GradesStat[enGrade.Adult1] +
                                                        0.2 * GradesStat[enGrade.Adult2]);
            m_MinPlaceForNewGrade.Add(new KeyValuePair <enGrade, int>(enGrade.Adult1, tmp));
            m_dictLblsPlaces[enGrade.Adult1].Content = tmp == 0 ? null : tmp.ToString();

            // 2 разряд
            tmp += GlobalDefines.CalcMinPlaceForNewGrade((enResultGradeCalcMethod)cmbResultGradeCalcMethod.SelectedIndex,
                                                         0.2 * GradesStat[enGrade.Adult1] +
                                                         0.4 * GradesStat[enGrade.Adult2] +
                                                         0.2 * GradesStat[enGrade.Adult3]);
            m_MinPlaceForNewGrade.Add(new KeyValuePair <enGrade, int>(enGrade.Adult2, tmp));
            m_dictLblsPlaces[enGrade.Adult2].Content = tmp == 0 ? null : tmp.ToString();

            // 3 разряд
            tmp += GlobalDefines.CalcMinPlaceForNewGrade((enResultGradeCalcMethod)cmbResultGradeCalcMethod.SelectedIndex,
                                                         0.2 * GradesStat[enGrade.Adult2] +
                                                         0.4 * GradesStat[enGrade.Adult3] +
                                                         0.3 * GradesStat[enGrade.Young1]);
            m_MinPlaceForNewGrade.Add(new KeyValuePair <enGrade, int>(enGrade.Adult3, tmp));
            m_dictLblsPlaces[enGrade.Adult3].Content = tmp == 0 ? null : tmp.ToString();

            // 1 ю разряд
            tmp += GlobalDefines.CalcMinPlaceForNewGrade((enResultGradeCalcMethod)cmbResultGradeCalcMethod.SelectedIndex,
                                                         0.2 * GradesStat[enGrade.Adult3] +
                                                         0.4 * GradesStat[enGrade.Young1] +
                                                         0.2 * GradesStat[enGrade.Young2]);
            m_MinPlaceForNewGrade.Add(new KeyValuePair <enGrade, int>(enGrade.Young1, tmp));
            m_dictLblsPlaces[enGrade.Young1].Content = tmp == 0 ? null : tmp.ToString();

            // 2 ю разряд
            tmp += GlobalDefines.CalcMinPlaceForNewGrade((enResultGradeCalcMethod)cmbResultGradeCalcMethod.SelectedIndex,
                                                         0.2 * GradesStat[enGrade.Young1] +
                                                         0.4 * GradesStat[enGrade.Young2] +
                                                         0.2 * GradesStat[enGrade.Young3]);
            m_MinPlaceForNewGrade.Add(new KeyValuePair <enGrade, int>(enGrade.Young2, tmp));
            m_dictLblsPlaces[enGrade.Young2].Content = tmp == 0 ? null : tmp.ToString();

            // 3 ю разряд
            tmp += GlobalDefines.CalcMinPlaceForNewGrade((enResultGradeCalcMethod)cmbResultGradeCalcMethod.SelectedIndex,
                                                         0.2 * GradesStat[enGrade.Young2] +
                                                         0.4 * GradesStat[enGrade.Young3] +
                                                         0.3 * GradesStat[enGrade.WithoutGrade]);
            m_MinPlaceForNewGrade.Add(new KeyValuePair <enGrade, int>(enGrade.Young3, tmp));
            m_dictLblsPlaces[enGrade.Young3].Content = tmp == 0 ? null : tmp.ToString();
        }