예제 #1
0
        private void Btn_Wyswietl_Wyniki_Click(object sender, RoutedEventArgs e)
        {
            TabelaWynikow tabelaWynikow;

            if (tmpTurniej is Turniej_Siatkowka)
            {
                Turniej_Siatkowka turniej = tmpTurniej as Turniej_Siatkowka;
                tabelaWynikow       = new TabelaWynikow(turniej.GenerujTabliceWynikow(turniej.listaMeczowSiatkowki), tmpTurniej);
                tabelaWynikow.Owner = this;
                tabelaWynikow.ShowDialog();
            }
            else if (tmpTurniej is Turniej_Lina)
            {
                Turniej_Lina turniej = tmpTurniej as Turniej_Lina;
                tabelaWynikow       = new TabelaWynikow(turniej.GenerujTabliceWynikow(turniej.listaPrzeciaganieLiny), tmpTurniej);
                tabelaWynikow.Owner = this;
                tabelaWynikow.ShowDialog();
            }
            else
            {
                Turniej_DwaOgnie turniej = tmpTurniej as Turniej_DwaOgnie;
                tabelaWynikow       = new TabelaWynikow(turniej.GenerujTabliceWynikow(turniej.GetListaMeczowDwaOgnie()), tmpTurniej);
                tabelaWynikow.Owner = this;
                tabelaWynikow.ShowDialog();
            }
        }
예제 #2
0
        private void Menu_wczytaj_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                {
                    MainGrid.Children.Remove(ImgLogo);
                }
                else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                {
                    MainGrid.Children.Remove(tableGrid);
                }

                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "Turniej (*.sia, *.ogn, *.lin)|*.sia; *.ogn; *.lin";
                if (openFileDialog.ShowDialog() == true)
                {
                    if (System.IO.Path.GetExtension(openFileDialog.FileName) == ".sia")
                    {
                        tmpTurniej = new Turniej_Siatkowka();
                        Turniej_Siatkowka turniej = tmpTurniej as Turniej_Siatkowka;
                        turniej.OdczytajZPliku(openFileDialog.FileName);
                        UtworzTabele(turniej.GetDruzyny(), turniej.GetListaMeczowSiatkowki().Cast <Mecz>().ToList());
                    }
                    else if (System.IO.Path.GetExtension(openFileDialog.FileName) == ".lin")
                    {
                        tmpTurniej = new Turniej_Lina();
                        Turniej_Lina turniej = tmpTurniej as Turniej_Lina;
                        turniej.OdczytajZPliku(openFileDialog.FileName);
                        UtworzTabele(turniej.GetDruzyny(), turniej.GetListaMeczowLina().Cast <Mecz>().ToList());
                    }
                    else if (System.IO.Path.GetExtension(openFileDialog.FileName) == ".ogn")
                    {
                        tmpTurniej = new Turniej_DwaOgnie();
                        Turniej_DwaOgnie turniej = tmpTurniej as Turniej_DwaOgnie;
                        turniej.OdczytajZPliku(openFileDialog.FileName);
                        UtworzTabele(turniej.GetDruzyny(), turniej.GetlistaDwaOgnie().Cast <Mecz>().ToList());
                    }
                    else
                    {
                        throw new NiewlasciwyFormat_Exception("Format pliku jest niewlasciwy");
                    }

                    Btn_Generuj.Visibility         = Visibility.Visible;
                    Btn_Wyswietl_Wyniki.Visibility = Visibility.Visible;
                }
            }
            catch (NiewlasciwyFormat_Exception ex)
            {
                MessageBox.Show(ex.Message, "Bład wczytywania", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #3
0
        private void Menu_utworz_Click(object sender, RoutedEventArgs e)
        {
            Utworz_Turniej utworzTurniej = new Utworz_Turniej(listaDruzyn, listaSedziow, listaPomocniczych);

            utworzTurniej.Owner = this;
            utworzTurniej.ShowDialog();

            if (utworzTurniej.DialogResult.HasValue && utworzTurniej.DialogResult.Value)
            {
                if (utworzTurniej.typTurnieju == 0)
                {
                    tmpTurniej = new Turniej_Siatkowka(utworzTurniej.listaDruzyn, utworzTurniej.listaSedziow, utworzTurniej.listaSedziowPomocniczych);
                }
                else if (utworzTurniej.typTurnieju == 1)
                {
                    tmpTurniej = new Turniej_DwaOgnie(utworzTurniej.listaDruzyn, utworzTurniej.listaSedziow);
                }
                else
                {
                    tmpTurniej = new Turniej_Lina(utworzTurniej.listaDruzyn, utworzTurniej.listaSedziow);
                }

                utworzTurniej = null;

                MainGrid.Children.RemoveAt(1);

                if (tmpTurniej is Turniej_Siatkowka)
                {
                    Turniej_Siatkowka turniej = tmpTurniej as Turniej_Siatkowka;
                    turniej.GenerujMeczeGrupowe();
                    UtworzTabele(turniej.GetDruzyny(), turniej.GetListaMeczowSiatkowki().Cast <Mecz>().ToList());
                }

                else if (tmpTurniej is Turniej_DwaOgnie)
                {
                    Turniej_DwaOgnie turniej = tmpTurniej as Turniej_DwaOgnie;
                    turniej.GenerujMeczeGrupowe();
                    UtworzTabele(turniej.GetDruzyny(), turniej.GetListaMeczowDwaOgnie().Cast <Mecz>().ToList());
                }
                else
                {
                    Turniej_Lina turniej = tmpTurniej as Turniej_Lina;
                    turniej.GenerujMeczeGrupowe();
                    UtworzTabele(turniej.GetDruzyny(), turniej.GetListaMeczowLina().Cast <Mecz>().ToList());
                }


                Btn_Generuj.Visibility         = Visibility.Visible;
                Btn_Wyswietl_Wyniki.Visibility = Visibility.Visible;
            }
        }
예제 #4
0
        private void Menu_zapisz_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                if (tmpTurniej is Turniej_Siatkowka)
                {
                    saveFileDialog.Filter = "Turniej siatkowka (*.sia)|*.sia";

                    if (saveFileDialog.ShowDialog() == true)
                    {
                        Turniej_Siatkowka turniej = tmpTurniej as Turniej_Siatkowka;
                        turniej.ZapiszDoPliku(saveFileDialog.FileName);
                    }
                }
                else if (tmpTurniej is Turniej_Lina)
                {
                    saveFileDialog.Filter = "Turniej lina (*.lin)|*.lin";

                    if (saveFileDialog.ShowDialog() == true)
                    {
                        Turniej_Lina turniej = tmpTurniej as Turniej_Lina;
                        turniej.ZapiszDoPliku(saveFileDialog.FileName);
                    }
                }

                else
                {
                    saveFileDialog.Filter = "Turniej 2 ognie (*.ogn)|*.ogn";

                    if (saveFileDialog.ShowDialog() == true)
                    {
                        Turniej_DwaOgnie turniej = tmpTurniej as Turniej_DwaOgnie;
                        turniej.ZapiszDoPliku(saveFileDialog.FileName);
                    }
                }
            }
            catch
            {
                MessageBox.Show("Bład zapisu", "Bład", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
예제 #5
0
        public void OdczytajZPliku(string sciezka)

        {
            using (Stream stream = File.Open(sciezka, FileMode.Open))
            {
                var          binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                Turniej_Lina turniej         = (Turniej_Lina)binaryFormatter.Deserialize(stream);

                if (turniej.listaDruzyn != null)
                {
                    this.listaDruzyn = new List <Druzyna>(turniej.listaDruzyn);
                }

                if (turniej.listaSedziow != null)
                {
                    this.listaSedziow = new List <Sedzia>(turniej.listaSedziow);
                }

                if (turniej.listaPrzeciaganieLiny != null)
                {
                    this.listaPrzeciaganieLiny = new List <Przeciaganie_Liny>(turniej.listaPrzeciaganieLiny);
                }
                if (turniej.wynikiGrup != null)
                {
                    this.wynikiGrup = new List <Druzyna>(turniej.wynikiGrup);
                }
                if (turniej.wynikiPolfinal != null)
                {
                    this.wynikiPolfinal = new List <Druzyna>(turniej.wynikiPolfinal);
                }
                if (turniej.wynikiFinal != null)
                {
                    this.wynikiFinal = new List <Druzyna>(turniej.wynikiFinal);
                }
            }
        }
예제 #6
0
        private void Btn_Generuj_Click(object sender, RoutedEventArgs e)
        {
            if (tmpTurniej.wynikiGrup == null)
            {
                if (tmpTurniej is Turniej_DwaOgnie)
                {
                    Turniej_DwaOgnie turniej = tmpTurniej as Turniej_DwaOgnie;
                    List <Druzyna>[] opa     = new List <Druzyna> [2];
                    opa = turniej.GenerujMeczePolFinal();

                    if (opa[1] != null)
                    {
                        Dogrywka dogrywka = new Dogrywka(opa[1], turniej.GenerujMeczeDogrywki(opa[1]).Cast <Mecz>().ToList(), tmpTurniej, 4 - opa[0].Count);
                        dogrywka.Owner = this;
                        dogrywka.ShowDialog();

                        if (dogrywka.DialogResult.HasValue && dogrywka.DialogResult.Value)
                        {
                            opa[0].AddRange(dogrywka.zwyciezcy);
                            turniej.GenerujMeczePolFinal(opa[0]);

                            if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                            {
                                MainGrid.Children.Remove(ImgLogo);
                            }
                            else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                            {
                                MainGrid.Children.Remove(tableGrid);
                            }

                            UtworzTabele(opa[0], turniej.GetListaMeczowDwaOgnie().Cast <Mecz>().ToList());
                        }
                    }
                    else
                    {
                        if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                        {
                            MainGrid.Children.Remove(ImgLogo);
                        }
                        else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                        {
                            MainGrid.Children.Remove(tableGrid);
                        }

                        UtworzTabele(opa[0], turniej.GetListaMeczowDwaOgnie().Cast <Mecz>().ToList());
                    }
                }
                else if (tmpTurniej is Turniej_Siatkowka)
                {
                    Turniej_Siatkowka turniej = tmpTurniej as Turniej_Siatkowka;
                    List <Druzyna>[]  opa     = new List <Druzyna> [2];
                    opa = turniej.GenerujMeczePolFinal();

                    if (opa[1] != null)
                    {
                        Dogrywka dogrywka = new Dogrywka(opa[1], turniej.GenerujMeczeDogrywki(opa[1]).Cast <Mecz>().ToList(), tmpTurniej, 4 - opa[0].Count);
                        dogrywka.Owner = this;
                        dogrywka.ShowDialog();

                        if (dogrywka.DialogResult.HasValue && dogrywka.DialogResult.Value)
                        {
                            opa[0].AddRange(dogrywka.zwyciezcy);
                            turniej.GenerujMeczePolFinal(opa[0]);

                            if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                            {
                                MainGrid.Children.Remove(ImgLogo);
                            }
                            else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                            {
                                MainGrid.Children.Remove(tableGrid);
                            }

                            UtworzTabele(opa[0], turniej.GetListaMeczowSiatkowki().Cast <Mecz>().ToList());
                        }
                    }
                    else
                    {
                        if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                        {
                            MainGrid.Children.Remove(ImgLogo);
                        }
                        else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                        {
                            MainGrid.Children.Remove(tableGrid);
                        }

                        UtworzTabele(opa[0], turniej.GetListaMeczowSiatkowki().Cast <Mecz>().ToList());
                    }
                }
                else
                {
                    Turniej_Lina     turniej = tmpTurniej as Turniej_Lina;
                    List <Druzyna>[] opa     = new List <Druzyna> [2];
                    opa = turniej.GenerujMeczePolFinal();

                    if (opa[1] != null)
                    {
                        Dogrywka dogrywka = new Dogrywka(opa[1], turniej.GenerujMeczeDogrywki(opa[1]).Cast <Mecz>().ToList(), tmpTurniej, 4 - opa[0].Count);
                        dogrywka.Owner = this;
                        dogrywka.ShowDialog();

                        if (dogrywka.DialogResult.HasValue && dogrywka.DialogResult.Value)
                        {
                            opa[0].AddRange(dogrywka.zwyciezcy);
                            turniej.GenerujMeczePolFinal(opa[0]);

                            if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                            {
                                MainGrid.Children.Remove(ImgLogo);
                            }
                            else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                            {
                                MainGrid.Children.Remove(tableGrid);
                            }

                            UtworzTabele(opa[0], turniej.GetListaMeczowLina().Cast <Mecz>().ToList());
                        }
                    }
                    else
                    {
                        if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                        {
                            MainGrid.Children.Remove(ImgLogo);
                        }
                        else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                        {
                            MainGrid.Children.Remove(tableGrid);
                        }

                        UtworzTabele(opa[0], turniej.GetListaMeczowLina().Cast <Mecz>().ToList());
                    }
                }
            }

            else
            {
                if (tmpTurniej is Turniej_DwaOgnie)
                {
                    Turniej_DwaOgnie turniej = tmpTurniej as Turniej_DwaOgnie;
                    List <Druzyna>[] opa     = new List <Druzyna> [2];
                    opa = turniej.GenerujMeczeFinal();

                    if (opa[1] != null)
                    {
                        Dogrywka dogrywka = new Dogrywka(opa[1], turniej.GenerujMeczeDogrywki(opa[1]).Cast <Mecz>().ToList(), tmpTurniej, 2 - opa[0].Count);
                        dogrywka.Owner = this;
                        dogrywka.ShowDialog();

                        if (dogrywka.DialogResult.HasValue && dogrywka.DialogResult.Value)
                        {
                            opa[0].AddRange(dogrywka.zwyciezcy);
                            turniej.GenerujMeczePolFinal(opa[0]);

                            if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                            {
                                MainGrid.Children.Remove(ImgLogo);
                            }
                            else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                            {
                                MainGrid.Children.Remove(tableGrid);
                            }

                            UtworzTabele(opa[0], turniej.GetListaMeczowDwaOgnie().Cast <Mecz>().ToList());
                        }
                    }
                    else
                    {
                        if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                        {
                            MainGrid.Children.Remove(ImgLogo);
                        }
                        else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                        {
                            MainGrid.Children.Remove(tableGrid);
                        }

                        UtworzTabele(opa[0], turniej.GetListaMeczowDwaOgnie().Cast <Mecz>().ToList());
                    }
                }
                else if (tmpTurniej is Turniej_Siatkowka)
                {
                    Turniej_Siatkowka turniej = tmpTurniej as Turniej_Siatkowka;
                    List <Druzyna>[]  opa     = new List <Druzyna> [2];
                    opa = turniej.GenerujMeczeFinal();

                    if (opa[1] != null)
                    {
                        Dogrywka dogrywka = new Dogrywka(opa[1], turniej.GenerujMeczeDogrywki(opa[1]).Cast <Mecz>().ToList(), tmpTurniej, 2 - opa[0].Count);
                        dogrywka.Owner = this;
                        dogrywka.ShowDialog();

                        if (dogrywka.DialogResult.HasValue && dogrywka.DialogResult.Value)
                        {
                            opa[0].AddRange(dogrywka.zwyciezcy);
                            turniej.GenerujMeczePolFinal(opa[0]);

                            if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                            {
                                MainGrid.Children.Remove(ImgLogo);
                            }
                            else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                            {
                                MainGrid.Children.Remove(tableGrid);
                            }

                            UtworzTabele(opa[0], turniej.GetListaMeczowSiatkowki().Cast <Mecz>().ToList());
                        }
                    }
                    else
                    {
                        if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                        {
                            MainGrid.Children.Remove(ImgLogo);
                        }
                        else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                        {
                            MainGrid.Children.Remove(tableGrid);
                        }

                        UtworzTabele(opa[0], turniej.GetListaMeczowSiatkowki().Cast <Mecz>().ToList());
                    }
                }
                else
                {
                    Turniej_Lina     turniej = tmpTurniej as Turniej_Lina;
                    List <Druzyna>[] opa     = new List <Druzyna> [2];
                    opa = turniej.GenerujMeczeFinal();

                    if (opa[1] != null)
                    {
                        Dogrywka dogrywka = new Dogrywka(opa[1], turniej.GenerujMeczeDogrywki(opa[1]).Cast <Mecz>().ToList(), tmpTurniej, 2 - opa[0].Count);
                        dogrywka.Owner = this;
                        dogrywka.ShowDialog();

                        if (dogrywka.DialogResult.HasValue && dogrywka.DialogResult.Value)
                        {
                            opa[0].AddRange(dogrywka.zwyciezcy);
                            turniej.GenerujMeczePolFinal(opa[0]);

                            if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                            {
                                MainGrid.Children.Remove(ImgLogo);
                            }
                            else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                            {
                                MainGrid.Children.Remove(tableGrid);
                            }

                            UtworzTabele(opa[0], turniej.GetListaMeczowLina().Cast <Mecz>().ToList());
                        }
                    }
                    else
                    {
                        if (MainGrid.Children.IndexOf(ImgLogo) != -1)
                        {
                            MainGrid.Children.Remove(ImgLogo);
                        }
                        else if (MainGrid.Children.IndexOf(tableGrid) != -1)
                        {
                            MainGrid.Children.Remove(tableGrid);
                        }

                        UtworzTabele(opa[0], turniej.GetListaMeczowLina().Cast <Mecz>().ToList());
                    }
                }
            }

            if (tmpTurniej.wynikiPolfinal != null)
            {
                Btn_Generuj.Visibility = Visibility.Collapsed;
            }
        }
예제 #7
0
        private void BtnZatwierdz_Click(object sender, RoutedEventArgs e)
        {
            if (turniej is Turniej_DwaOgnie)
            {
                Turniej_DwaOgnie DwaTurniej = turniej as Turniej_DwaOgnie;
                List <Druzyna>   wyniki     = DwaTurniej.GenerujTabliceWynikow(mecze.Cast <Dwa_Ognie>().ToList());

                for (int i = 0; i < wyniki.Count - 1; i++)
                {
                    if (wyniki[i].punkty >= wyniki[i + 1].punkty && zwyciezcy.Count < miejscaWolne)
                    {
                        if (i < miejscaWolne)
                        {
                            zwyciezcy.Add(wyniki[i]);
                        }
                        else
                        {
                            MessageBox.Show("Nadal jest remis", "Remis", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                            return;
                        }

                        if (zwyciezcy.Count == miejscaWolne)
                        {
                            this.DialogResult = true;
                            this.Close();
                        }
                    }
                }
            }
            else if (turniej is Turniej_Siatkowka)
            {
                Turniej_Siatkowka DwaTurniej = turniej as Turniej_Siatkowka;
                List <Druzyna>    wyniki     = DwaTurniej.GenerujTabliceWynikow(mecze.Cast <Siatkowka>().ToList());

                for (int i = 0; i < wyniki.Count - 1; i++)
                {
                    if (wyniki[i].punkty >= wyniki[i + 1].punkty && zwyciezcy.Count < miejscaWolne)
                    {
                        if (i < miejscaWolne)
                        {
                            zwyciezcy.Add(wyniki[i]);
                        }
                        else
                        {
                            MessageBox.Show("Nadal jest remis", "Remis", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                            return;
                        }

                        if (zwyciezcy.Count == miejscaWolne)
                        {
                            this.DialogResult = true;
                            this.Close();
                        }
                    }
                }
            }
            else
            {
                Turniej_Lina   DwaTurniej = turniej as Turniej_Lina;
                List <Druzyna> wyniki     = DwaTurniej.GenerujTabliceWynikow(mecze.Cast <Przeciaganie_Liny>().ToList());

                for (int i = 0; i < wyniki.Count - 1; i++)
                {
                    if (wyniki[i].punkty >= wyniki[i + 1].punkty && zwyciezcy.Count < miejscaWolne)
                    {
                        if (i < miejscaWolne)
                        {
                            zwyciezcy.Add(wyniki[i]);
                        }
                        else
                        {
                            MessageBox.Show("Nadal jest remis", "Remis", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                            return;
                        }

                        if (zwyciezcy.Count == miejscaWolne)
                        {
                            this.DialogResult = true;
                            this.Close();
                        }
                    }
                }
            }
        }