示例#1
0
        public int CompareTo(object obj)
        {
            Pretekar dalsi = (Pretekar)obj;

            if (this.pocetKol > dalsi.pocetKol)
            {
                return(-1);
            }
            if (this.pocetKol < dalsi.pocetKol)
            {
                return(1);
            }
            else
            {
                if (this.casPoslednehoKola < dalsi.casPoslednehoKola)
                {
                    return(-1);
                }
                if (this.casPoslednehoKola > dalsi.casPoslednehoKola)
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
        }
示例#2
0
        public void Penalizacia(Pretekar pretekar, string casovePenale)
        {
            if (pretekar == null)
            {
                throw new ArgumentException("Nie je zvoleny pretekar!");
            }
            else if (casovePenale == string.Empty)
            {
                throw new ArgumentException("Prazdne pole pre penalizaciu!");
            }
            else if (!TimeSpan.TryParse(casovePenale, out TimeSpan casovePenale1) || casovePenale1.Days > 0 || (casovePenale1.Hours < 0 || casovePenale1.Minutes < 0 || casovePenale1.Seconds < 0 || casovePenale1.Milliseconds < 0))
            {
                throw new ArgumentException("Zly ciselny format pre penalizaciu!");
            }

            else
            {
                pretekar.casPoslednehoKola   += casovePenale1;
                pretekar.casPoslednehoKolaStr = $"{pretekar.casPoslednehoKola.Hours }:{pretekar.casPoslednehoKola.Minutes}:{pretekar.casPoslednehoKola.Seconds},{pretekar.casPoslednehoKola.Milliseconds / 10}";
                pretekar.casovePenale        += casovePenale1;
                pretekar.casovePenaleStr      = $"{pretekar.casovePenale.Hours }:{pretekar.casovePenale.Minutes}:{pretekar.casovePenale.Seconds},{pretekar.casovePenale.Milliseconds / 10}";
                PriemernaRychlost(pretekar);
                pretekar.OnPropertyChanged("casovePenaleStr");
            }
        }
        private void OKButton2_Click(object sender, RoutedEventArgs e)
        {
            string pohlavie;

            if (muzRadioButton.IsChecked == true)
            {
                pohlavie = "Muz";
            }
            else
            {
                pohlavie = "Zena";
            }
            try
            {
                Pretekar pretekar = new Pretekar(menoTextBox.Text, vekTextBox.Text, pohlavie, krajinaComboBox.Text);
                if (pretekar.pohlavie == "Muz")
                {
                    spravcaPretekarov1.PridatMuza(pretekar);
                    spravcaPretekarov1.Uloz(spravcaPretekarov1.zoznamMuzov, spravcaPretekarov1.cestaMuzi);
                    //spravcaPretekarov1.UlozObservable(spravcaPretekarov1.premennyZoznamMuzov, spravcaPretekarov1.cestaPremenniMuzi);
                }
                else
                {
                    spravcaPretekarov1.PridatZenu(pretekar);
                    spravcaPretekarov1.Uloz(spravcaPretekarov1.zoznamZien, spravcaPretekarov1.cestaZeny);
                    //spravcaPretekarov1.UlozObservable(spravcaPretekarov1.premennyZoznamZien, spravcaPretekarov1.cestaPremenneZeny);
                }
                Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
示例#4
0
 public void PriemernaRychlost(Pretekar pretekar)
 {
     if (pretekar.casPoslednehoKola == new TimeSpan(0, 0, 0, 0, 0))
     {
         pretekar.priemernaRychlost = 0;
     }
     else
     {
         pretekar.priemernaRychlost = Math.Round(((pretekar.pocetKol * dlzkaKola) / ((pretekar.casPoslednehoKola.TotalHours * 3600) + (pretekar.casPoslednehoKola.TotalMinutes * 60) + (pretekar.casPoslednehoKola.TotalSeconds) + (pretekar.casPoslednehoKola.TotalMilliseconds / 1000))), 2);
         pretekar.OnPropertyChanged("priemernaRychlost");
     }
 }
示例#5
0
 public void PridatKolo(Pretekar pretekar)
 {
     if (pretekar == null)
     {
         throw new ArgumentException("Nie je zvoleny pretekar!");
     }
     else if (pretekar.pocetKol == pocetKol)
     {
         throw new ArgumentException("Pretekar uz odbehol posledne kolo pretekov. Nemozno mu pridat kolo!");
     }
     else
     {
         pretekar.pocetKol++;
         pretekar.OnPropertyChanged("pocetKol");
     }
 }
示例#6
0
 public void DiskvalifikovatPretekara(Pretekar pretekar, List <Pretekar> pretekars, ObservableCollection <Pretekar> pretekaris)
 {
     if (pretekar == null)
     {
         throw new ArgumentException("Nie je zvoleny pretekar!");
     }
     else if (pretekars == null)
     {
         throw new ArgumentException("Zoznam pretekarov je prazdny!");
     }
     else
     {
         pretekars.Remove(pretekar);
         ZoradZoznam(pretekars, pretekaris);
     }
 }
示例#7
0
 private void PenalizaciaZenaButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         Pretekar bezec = (Pretekar)zenyListBox.SelectedItem;
         spravcaPretekov1.zoznamPretekov[0].Penalizacia(bezec, trestneSekundyZenaTetxBox.Text);
         spravcaPretekov1.zoznamPretekov[0].PriemernaRychlost(bezec);
         spravca.ZoradZoznam(spravca.zoznamZien, spravca.premennyZoznamZien);
         spravcaPretekov1.zoznamPretekov[0].UrciPoradie(bezec, spravca.premennyZoznamZien);
         muziListBox.SelectedItem = bezec;
         spravca.Uloz(spravca.zoznamZien, spravca.cestaZeny);
         //spravca.UlozObservable(spravca.premennyZoznamZien, spravca.cestaPremenneZeny);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Exclamation);
     }
 }
示例#8
0
 private void PridajKoloZenaButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         Pretekar bezec = (Pretekar)zenyListBox.SelectedItem;
         spravcaPretekov1.zoznamPretekov[0].PridatKolo(bezec);
         spravcaPretekov1.zoznamPretekov[0].UrcenieCasuPoslednehoKola(bezec, casovacView.stopwatch.Elapsed);
         spravcaPretekov1.zoznamPretekov[0].PriemernaRychlost(bezec);
         spravca.ZoradZoznam(spravca.zoznamZien, spravca.premennyZoznamZien);
         spravcaPretekov1.zoznamPretekov[0].UrciPoradie(bezec, spravca.premennyZoznamZien);
         zenyListBox.SelectedItem = bezec;
         spravca.Uloz(spravca.zoznamZien, spravca.cestaZeny);
         //spravca.UlozObservable(spravca.premennyZoznamZien, spravca.cestaPremenneZeny);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Exclamation);
     }
 }
示例#9
0
 public void UrciPoradie(Pretekar pretekar, ObservableCollection <Pretekar> pretekari)
 {
     pretekar.poradie = pretekari.IndexOf(pretekar) + 1;
     pretekar.OnPropertyChanged("poradie");
 }
示例#10
0
 public void UrcenieCasuPoslednehoKola(Pretekar pretekar, TimeSpan CasPoslednehoKola)
 {
     pretekar.casPoslednehoKola    = CasPoslednehoKola;
     pretekar.casPoslednehoKolaStr = $"{pretekar.casPoslednehoKola.Hours }:{pretekar.casPoslednehoKola.Minutes}:{pretekar.casPoslednehoKola.Seconds},{pretekar.casPoslednehoKola.Milliseconds / 10}";
     pretekar.OnPropertyChanged("casPoslednehoKolaStr");
 }
示例#11
0
 public void PridatZenu(Pretekar pretekar)
 {
     zoznamZien.Add(pretekar);
     premennyZoznamZien.Add(pretekar);
     ZoradZoznam(zoznamZien, premennyZoznamZien);
 }
示例#12
0
 public void PridatMuza(Pretekar pretekar)
 {
     zoznamMuzov.Add(pretekar);
     //premennyZoznamMuzov.Add(pretekar);
     ZoradZoznam(zoznamMuzov, premennyZoznamMuzov);
 }