Esempio n. 1
0
        /// <summary>
        /// Select all button handler
        /// </summary>
        private void SelectAll()
        {
            //if all are selected, de-select them
            //if not select them all
            bool select = Drivers.Count != Drivers.Count(x => x.IsSelected);

            foreach (var driver in Drivers)
            {
                driver.IsSelected = select;
            }
        }
Esempio n. 2
0
        public bool IsValid()
        {
            if (Groups?.Count(g => !g.IsValid()) > 0)
            {
                return(false);
            }
            if (Drivers?.Count(d => !d.IsValid()) > 0)
            {
                return(false);
            }

            return(true);
        }
Esempio n. 3
0
 public bool IsValid()
 {
     if (Vehicles != null)
     {
         if (Vehicles.Count(v => !v.IsValid()) > 0)
         {
             return(false);
         }
     }
     if (Drivers != null)
     {
         if (Drivers.Count(d => !d.IsValid()) > 0)
         {
             return(false);
         }
     }
     return(true);
 }
        private void OnDriverSelectCheckedChanged(object parameter)
        {
            SelectableDriver selectableDriver = parameter as SelectableDriver;

            selectableDriver.IsSelected = !selectableDriver.IsSelected;

            if (Drivers.All(x => x.IsSelected))
            {
                IsAllSelected = true;
            }
            else if (Drivers.Count(x => x.IsSelected) > 0)
            {
                IsAllSelected = null;
            }
            else
            {
                IsAllSelected = false;
            }

            EnableDisableReportTypeDropdown();
        }
Esempio n. 5
0
        private void CheckPlayState()
        {
            var firstPlace = Drivers.FirstOrDefault(x => x.RacePosition == 1);

            foreach (var driver in Drivers.Where(x => x.RacePosition != 1 && x.InRace))
            {
                if (driver.DistanceTo(firstPlace.Position) > configuration.WinDistance)
                {
                    if (!driver.IsPlayer)
                    {
                        UI.Notify($"{driver.ToString()} lose");
                    }

                    driver.Finish();
                }
            }

            // If 1 driver left then finish the race
            if (Drivers.Count(x => x.InRace) == 1 || !Drivers.FirstOrDefault(x => x.IsPlayer).InRace)
            {
                Finish();
            }
        }