private void karsilasmayaHakemAta(Fikstur fks, List <Hakem> hakemlistesi, int j, List <int> rastgeleHakemListesi)
        {
            j = rastgeleHakemListesi.ElementAt(j);
            string str = hakemlistesi.ElementAt(j).hakem_adi + " " + hakemlistesi.ElementAt(j).hakem_soyadi + " - ";
            bool   ikinciHakemEklendi = true;

            for (int i = 0; i < hakemlistesi.Count(); i++)
            {
                // kendisi dışında aynı grupta adam varmı
                if (hakemlistesi.ElementAt(j).hakem_grup.Equals(hakemlistesi.ElementAt(i).hakem_grup) &&
                    hakemlistesi.ElementAt(j).hakem_id != hakemlistesi.ElementAt(i).hakem_id)
                {
                    str += hakemlistesi.ElementAt(i).hakem_adi + " " + hakemlistesi.ElementAt(i).hakem_soyadi;
                    ikinciHakemEklendi = false;
                }
            }
            if (ikinciHakemEklendi)
            {
                //aynı grupta hakem yoksa ensondaki hakem atanır
                int indis = rastgeleHakemListesi.ElementAt(rastgeleHakemListesi.Count);
                str += hakemlistesi.ElementAt(indis).hakem_adi + " " +
                       hakemlistesi.ElementAt(indis).hakem_soyadi;
            }
            fks.fikstur_hakem = str;
        }
        //fikstur oluşturulmaya başlanıyor
        private void fiksturOlustur()
        {
            List <Takim>   takimListesi         = fkcon.takimlariCek(islemYapilanLig);
            int            takimSayisi          = takimListesi.Count;
            List <string>  haftaListesi         = haftalariOlustur(takimSayisi);
            List <string>  gunListesi           = gunleriOlustur(haftaListesi, dtpFiksturBaslangic);
            List <Fikstur> fiksturListesi       = new List <Fikstur>();
            List <int>     rastgeleTakimListesi = rastgeleTakimListesiOlustur(takimSayisi);
            List <Hakem>   hakemlistesi         = ligeGoreHakemCek(islemYapilanLig);
            List <int>     rastgeleHakemListesi = rastgeleHakemListesiOlustur(hakemlistesi.Count);

            //haftalar
            for (int i = 0; i < (takimSayisi - 1) * 2; i++)
            {
                //karşılaşmalar  // j takım ve hakem seçerken ikişer tane seçiyoruz oyuzden ikişer artıyor
                for (int j = 0; j < takimSayisi; j += 2)
                {
                    Fikstur fks = new Fikstur();
                    karsilasmayaGunAta(fks, j, i, takimSayisi, gunListesi);
                    karsilasmayaSaatAta(fks, j, takimSayisi);
                    fiksturTakimSalonLigHaftaAta(haftaListesi, takimListesi, rastgeleTakimListesi, i, j, fks);
                    karsilasmayaHakemAta(fks, hakemlistesi, j, rastgeleHakemListesi);
                    fiksturListesi.Add(fks);
                }
                listeyiKaydir(rastgeleTakimListesi);                                //rastgele listesinde kaydırma yapıyoruz
            }
            gozlemcilereHaberVer("FiksturKaydet", fiksturListesi, islemYapilanLig); //kayıt işlemini yaptırıyoruz
        }
 private void karsilasmayaSaatAta(Fikstur fks, int j, int tsayi)
 {
     if (j < tsayi / 2)
     {
         fks.fikstur_saat = "15:00";
     }
     else
     {
         fks.fikstur_saat = "17:00";
     }
 }
 private void karsilasmayaGunAta(Fikstur fks, int j, int i, int tsayi, List <string> gunListe)
 {
     if (j < tsayi / 2)
     {
         fks.fikstur_gun = gunListe.ElementAt(i * 2);
     }
     else
     {
         fks.fikstur_gun = gunListe.ElementAt((i * 2) + 1);
     }
 }
 public void fiksturKaydetDB(String ilkTakim, String ikinciTakim, String tarih, String saat,
                             String hafta, String lig, String ortaHakem, String yardimciHakem, String dorduncuHakem, String stad)
 {
     using (var db = new HakemOtomasyonDataContext())
     {
         Fikstur fiks = new Fikstur();
         fiks.ilkTakim      = ilkTakim;
         fiks.ikinciTakim   = ikinciTakim;
         fiks.tarih         = tarih;
         fiks.saat          = saat;
         fiks.hafta         = hafta;
         fiks.lig           = lig;
         fiks.ortaHakem     = ortaHakem;
         fiks.yardimciHakem = yardimciHakem;
         fiks.dorduncuHakem = dorduncuHakem;
         fiks.stadyum       = stad;
         db.Fiksturs.InsertOnSubmit(fiks);
         db.SubmitChanges();
     }
 }
        private void fiksturTakimSalonLigHaftaAta(List <string> haftaListesi, List <Takim> takimListesi, List <int> rastgeleTakimListesi, int i, int j, Fikstur fks)
        {
            //rastgele sayı listesine göre takim listesinden takim seçiyoruz
            Takim tkm1 = takimListesi.ElementAt(rastgeleTakimListesi.ElementAt(j));
            Takim tkm2 = takimListesi.ElementAt(rastgeleTakimListesi.ElementAt(j + 1));

            fks.fikstur_takim1 = tkm1.takim_adi;
            fks.fikstur_takim2 = tkm2.takim_adi;
            fks.fikstur_salon  = tkm1.takim_salon;
            fks.fikstur_lig    = islemYapilanLig;
            fks.fikstur_hafta  = haftaListesi.ElementAt(i);
        }