public override bool DurumlariOlustur()
        {
            DurumListesi = new List <Durum>();
            foreach (var durum in Durumlar)
            {
                DurumListesi.Add(new Durum(durum));
            }

            foreach (DataGridViewRow satir in CiktiliGecisTablosu.Rows)
            {
                foreach (DataGridViewCell hucre in satir.Cells) // Tabloda seçilmemiş hücre var mı diye kontrol ediliyor.
                {
                    if (hucre.Value is null)
                    {
                        return(false);
                    }
                }

                var durum = DurumListesi.Find(x => x.Ad == satir.Cells[0].Value.ToString());
                durum.Gecisler = new List <Gecis>();
                durum.Cikti    = satir.Cells[satir.Cells.Count - 1].Value.ToString();
                for (int i = 0; i < Alfabe.Length; i++)
                {
                    var hucre        = satir.Cells[i + 1]; // Tabloda ilk sütun durum isimleri olduğu için i+1
                    var gecilenDurum = DurumListesi.Find(x => x.Ad == hucre.Value.ToString());
                    var gecis        = new Gecis()
                    {
                        Girdi = Alfabe[i],
                        Durum = gecilenDurum
                    };
                    durum.Gecisler.Add(gecis);
                }
            }
            return(true);
        }
        public override bool DurumlariOlustur()
        {
            DurumListesi = new List <Durum>();
            foreach (var durum in Durumlar)
            {
                DurumListesi.Add(new Durum(durum));
            }

            foreach (DataGridViewRow satir in CiktiliGecisTablosu.Rows)
            {
                foreach (DataGridViewCell hucre in satir.Cells) // Tabloda seçilmemiş hücre var mı diye kontrol ediliyor.
                {
                    if (hucre.Value is null)
                    {
                        return(false);
                    }
                }

                var durum = DurumListesi.Find(x => x.Ad == satir.Cells[0].Value.ToString());
                durum.Gecisler = new List <Gecis>();
                for (int i = 1; i < satir.Cells.Count; i += 2) //i+=2 çünkü mealey'de girdi ve çıktı ikilisi var
                {
                    var hucre        = satir.Cells[i];
                    var gecilenDurum = DurumListesi.Find(x => x.Ad == hucre.Value.ToString());

                    var   cikti = satir.Cells[i + 1].Value.ToString();
                    Gecis gecis = new Gecis()
                    {
                        Girdi = Alfabe[i / 2].ToString(),
                        Cikti = cikti,
                        Durum = gecilenDurum
                    };
                    durum.Gecisler.Add(gecis);
                }
            }
            return(true);
        }