internal static string ToSerializedValue(this CategoryOperator value) { switch (value) { case CategoryOperator.In: return("In"); case CategoryOperator.NotIn: return("NotIn"); } return(null); }
private void FilterReport() { if (FilteredReport == null) { return; } FilteredReport = new List <Participant>(Report); if (CategoryMode != "No Filter") { FilteredReport.RemoveAll(p => p.category_mode.ToLower() != CategoryMode.ToLower()); } if (CategoryOperator != "No Filter") { FilteredReport.RemoveAll(p => p.category_op.ToLower() != CategoryOperator.ToLower()); } if (CategoryPower != "No Filter") { FilteredReport.RemoveAll(p => p.category_power.ToLower() != CategoryPower.ToLower()); } if (CategoryOrigin == "Israeli") { FilteredReport.RemoveAll(p => !HolyLogParser.IsIsraeliStation(p.callsign)); } else if (CategoryOrigin == "Foreign") { FilteredReport.RemoveAll(p => HolyLogParser.IsIsraeliStation(p.callsign)); } if (CategoryStation != "No Filter") { if (CategoryStation == "Fixed") { FilteredReport.RemoveAll(p => p.squers > 1 || p.callsign.ToLower().Contains(@"/p")); } else if (CategoryStation == "Mobile") { FilteredReport.RemoveAll(p => p.squers < 2 || p.callsign.ToLower().Contains(@"/p")); } else if (CategoryStation == "Portable") { FilteredReport.RemoveAll(p => p.squers > 1 || !p.callsign.ToLower().Contains(@"/p")); } } DataContext = FilteredReport.OrderByDescending(p => p.score).ToList(); if (L_NUmOfParticipantsValue != null) { L_NUmOfParticipantsValue.Content = FilteredReport.Count(); } //Console.WriteLine("Category: " + CategoryMode + " : " + CategoryOperator + " : " + CategoryPower + " : " + CategoryStation); }