private void CheckedExecute(SportBarItem barItem) { if (barItem == null) { return; } if (barItem.SportDescriptor == SportSr.ALL_SPORTS && ChangeTracker.SelectedDescriptors.Count == 1 && ChangeTracker.SelectedDescriptors.Contains(SportSr.ALL_SPORTS)) { SportBarItem allsports = SportsBarItems.Where(x => x.SportDescriptor == SportSr.ALL_SPORTS).First(); if (allsports != null) { allsports.IsChecked = true; } return; } else if (ChangeTracker.SelectedDescriptors.Contains(barItem.SportDescriptor)) { ChangeTracker.SelectedDescriptors.Remove(barItem.SportDescriptor); } else { if (barItem.SportDescriptor == SportSr.ALL_SPORTS) { for (int i = 1; i < SportsBarItems.Count; i++) { SportsBarItems[i].IsChecked = false; } ChangeTracker.SelectedDescriptors.Clear(); } else //all sports should be unchecked automatically { if (ChangeTracker.SelectedDescriptors.Contains(SportSr.ALL_SPORTS)) { SportsBarItems[0].IsChecked = false; ChangeTracker.SelectedDescriptors.Remove(SportSr.ALL_SPORTS); } } ChangeTracker.SelectedDescriptors.Add(barItem.SportDescriptor); } if (ChangeTracker.SelectedDescriptors.Count == 0) { SportBarItem allsports = SportsBarItems.Where(x => x.SportDescriptor == SportSr.ALL_SPORTS).First(); if (allsports != null) { allsports.IsChecked = true; ChangeTracker.SelectedDescriptors.Add(allsports.SportDescriptor); } } FillResults(); ScrollToVertivalOffset(0); }
private void Refresh(bool state) { if (SportsBarItems.Count > 0) { SportsBarItems.ElementAt(0).SportName = TranslationProvider.Translate(MultistringTags.ALL_SPORTS) as string; } Results.Clear(); FillResults(); FillSportsBar(); }
private bool ResultMatchFilter(MatchResultLn match) { if (match.Score.Value.Contains("-1:-1")) { return(false); } if (match.MatchLn != null) { return(false); } if (match.CategoryGroupId.Value == null) { return(false); } if (match.CategoryGroupId.Value == 0) { return(false); } if (SportsBarItems.Count > 1 && !SportsBarItems.ElementAt(0).IsChecked) { if (!ChangeTracker.SelectedDescriptors.Contains(match.MatchResultView.SportView.LineObject.GroupSport.SportDescriptor)) { return(false); } } if (match.IsLiveBet.Value && match.StartDate.Value.LocalDateTime < DateTime.Now.AddDays(-ChangeTracker.ResultsSelectedDay - 1).Date) { return(false); } var start = DateTime.Now.AddDays(-ChangeTracker.ResultsSelectedDay).Date; var end = DateTime.Now.AddDays(-ChangeTracker.ResultsSelectedDay).Date.AddHours(23).AddMinutes(59).AddSeconds(59); if (match.StartDate.Value.LocalDateTime > end) { return(false); } if (match.StartDate.Value.LocalDateTime < start) { return(false); } if (ids.Contains(match.BtrMatchId)) { return(false); } ids.Add(match.BtrMatchId); return(true); }
public void FillSportsBar() { SortableObservableCollection <MatchResultVw> ResultMatches = new SortableObservableCollection <MatchResultVw>(); Repository.FindResults(ResultMatches, SportBarMatchFilter, Comparison); Dispatcher.Invoke(() => { try { var sports = ResultMatches.Where(x => x.SportView != null).Select(x => x.SportView).Distinct().ToList(); SportBarItem allsports = SportsBarItems.FirstOrDefault(x => x.SportDescriptor == SportSr.ALL_SPORTS); if (allsports != null) { allsports.SportName = TranslationProvider.Translate(MultistringTags.ALL_SPORTS) as string; } foreach (var group in sports) { if (SportsBarItems.Count(x => x.SportDescriptor == group.LineObject.GroupSport.SportDescriptor) == 0) { SportsBarItems.Add(new SportBarItem(group.DisplayName, group.LineObject.GroupSport.SportDescriptor)); } else { SportsBarItems.First(x => x.SportDescriptor == @group.LineObject.GroupSport.SportDescriptor).SportName = @group.DisplayName; } } for (int i = 1; i < SportsBarItems.Count;) { var item = SportsBarItems[i]; if (sports.Count(x => x.LineObject.GroupSport.SportDescriptor == item.SportDescriptor) == 0) { SportsBarItems.RemoveAt(i); } else { i++; } } SportsBarItems.Sort(ComparisonSportsBar); OnPropertyChanged("SportsBarVisibility"); } catch (Exception ex) { } }); }
public override void OnNavigationCompleted() { Mediator.SendMessage(true, MsgTag.ActivateForwardSelected); Mediator.SendMessage <bool>(true, MsgTag.ShowResultFilters); Mediator.Register <bool>(this, ResetSportBar, MsgTag.ClearSelectedSports); Results.Clear(); SportsBarItems.Clear(); FillResults(); timer.Tick += timer_Elapsed; timer.Start(); ChangeTracker.SelectedResults = true; SportsBarItems.Add(new SportBarItem(TranslationProvider.Translate(MultistringTags.ALL_SPORTS) as string, SportSr.ALL_SPORTS)); FillSportsBar(); if (ChangeTracker.SelectedDescriptors.Count == 0) { ChangeTracker.SelectedDescriptors.Add(SportsBarItems.ElementAt(0).SportDescriptor); SportsBarItems.ElementAt(0).IsChecked = true; } else { var arraycopy = ChangeTracker.SelectedDescriptors.ToArray(); ChangeTracker.SelectedDescriptors.Clear(); foreach (var selectedDescriptor in arraycopy) { var sport = SportsBarItems.FirstOrDefault(x => x.SportDescriptor == selectedDescriptor); sport.IsChecked = true; CheckedExecute(sport); } } base.OnNavigationCompleted(); Mediator.SendMessage <bool>(true, MsgTag.UpdateLiveMonitorTemplates); CheckSportBarButtons(); }
private void ResetSportBar(bool res) { SportsBarItems.Clear(); ChangeTracker.SelectedDescriptors.Clear(); SportsBarItems.Add(new SportBarItem(TranslationProvider.Translate(MultistringTags.ALL_SPORTS) as string, SportSr.ALL_SPORTS)); SportsBarItems.ElementAt(0).IsChecked = true; ChangeTracker.SelectedDescriptors.Add(SportsBarItems.ElementAt(0).SportDescriptor); GetSportsBarScrollviewer(); if (scrollViewer == null) { return; } if (ChangeTracker.IsLandscapeMode) { scrollViewer.ScrollToVerticalOffset(0); } else { scrollViewer.ScrollToHorizontalOffset(0); } }