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)); }
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; }
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(); } }
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(); }
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); } }
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); } }
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(); }