private async void Browser_OnFrameLoadEnd(object sender, FrameLoadEndEventArgs e)
        {
            if (!e.Frame.IsMain)
            {
                return;
            }

            await Task.Delay(Configuration.Delay * 1000);

            var html = await Browser.GetSourceAsync();

            Events = GetEvents(html);
            Events = Events.Where(i => i.Championship.Contains(Configuration.Filter)).ToList();

            var requiredBlueScores   = GetScores(Configuration.EnabledBlue, Configuration.RequiredBlueScore);
            var requiredGreenScores  = GetScores(Configuration.EnabledGreen, Configuration.RequiredGreenScore);
            var requiredYellowScores = GetScores(Configuration.EnabledYellow, Configuration.RequiredYellowScore);
            var requiredOrangeScores = GetScores(Configuration.EnabledOrange, Configuration.RequiredOrangeScore);

            var foundBlue   = false;
            var foundGreen  = false;
            var foundYellow = false;
            var foundOrange = false;

            foreach (var @event in Events)
            {
                foundOrange |= !Configuration.MuteOrange & @event.ContainsScore(requiredOrangeScores, Colors.Orange);
                foundYellow |= !Configuration.MuteYellow & @event.ContainsScore(requiredYellowScores, Colors.Yellow);
                foundGreen  |= !Configuration.MuteGreen & @event.ContainsScore(requiredGreenScores, Colors.GreenYellow);
                foundBlue   |= !Configuration.MuteBlue & @event.ContainsScore(requiredBlueScores, Colors.Aqua);
            }

            var found = foundBlue || foundGreen || foundYellow || foundOrange;

            if (!Configuration.MuteAll && found)
            {
                Notify();
            }

            if (Configuration.SortingByColor)
            {
                var sortedList = new List <BetcityEvent>();
                sortedList.AddRange(Events.Where(i => i.Color == Colors.Aqua));
                sortedList.AddRange(Events.Where(i => i.Color == Colors.GreenYellow));
                sortedList.AddRange(Events.Where(i => i.Color == Colors.Yellow));
                sortedList.AddRange(Events.Where(i => i.Color == Colors.Orange));
                sortedList.AddRange(Events.Where(i => i.Color == SystemColors.ControlColor));
                Events = sortedList;
            }

            Dispatcher.Invoke(
                () => EventsListBox.GetBindingExpression(ItemsControl.ItemsSourceProperty)?.UpdateTarget());
        }
示例#2
0
        private void ClickWithUnselect(object?sender, RoutedEventArgs e)
        {
            EventsListBox.UnselectAll();
            ResetEditing();

            var button = sender as Button;

            button?.FindRelatedControl <Button, Grid, TextBox>((tb) =>
            {
                tb.Focus();
                tb.CaretIndex = tb.Text.Length;
            });
        }
示例#3
0
        private void RemoveEvent_Click(object sender, EventArgs e)
        {
            EventsListBox.Invoke(new Action(
                                     () =>
            {
                if (EventsListBox.SelectedItems.Count == 1)
                {
                    Event selectedEvent = EventsListBox.SelectedItem as Event;
                    selectedEvent.DeclinedUsers.Add(m_LoggedInUser);
                    EventsListBox.SelectedItems.Remove(selectedEvent);
                }

                if (EventsListBox.SelectedItems.Count == 0)
                {
                    MessageBox.Show("no event was picked");
                }
            }

                                     )
                                 );
        }
示例#4
0
 private void fetchEvents()
 {
     if (checkIfUserLoggedIn())
     {
         if (m_CurrentEvents.Count == 0)
         {
             MessageBox.Show("There isn't events to show.", "Not registered to events");
         }
         else
         {
             if (!EventsListBox.InvokeRequired)
             {
                 EventBindingSource.DataSource = m_CurrentEvents;
             }
             else
             {
                 EventsListBox.Invoke(new Action(() => EventBindingSource.DataSource = m_CurrentEvents));
             }
         }
     }
 }
示例#5
0
 private void ListItemTextBoxGotFocus(object?sender, GotFocusEventArgs e)
 {
     EventsListBox.UnselectAll();
 }
示例#6
0
 public void FetchUserEvents()
 {
     EventsListBox.Invoke(new Action(() => eventBindingSource.DataSource = User.Events));
 }