C# İç İçe İf Kullanımı

Ağustos 12, 2016 Mustafa BÜKÜLMEZ 0 Yorum


Merhaba Arkadaşlar,

Bu makalemizde iç içe if kullanımını anlatacağım. Hazırladığım bir projede yazdığım kodlar :)

Kaydet butonunun click eventinde yazan kodlar

 private void BTN_KAYDET_Click(object sender, EventArgs e)
        {
            string mailler = "";
            if (MailList.Count > 0)
            {
              // insert ve update için hazırlık kodları
                if RECno == 0)
                {
                  //İnsert kod bloğu
                    if (sql.ok == 1)
                    {
                        //sql classından gelen bir kontrol. 1 ise kayıt başarılıdır.
                        MessageBox.Show("Kayıt başarılı");

                        for (int i = 0; i < MailList.Count; i++) { mailler += MailList[i] + ","; }
                        mailler = (mailler.Substring(0, mailler.Length - 1));
                        //otomatik mail göndermeden önce liste içerisindeki mailleri aralarına virgül
                        //atarak yan yana yazmak için kullandım.        
                        if (SendMail.SendMailLocal(mailler, "Bildirim" ,"Mail İçeriği", "Sistem", "") == true)
                            MessageBox.Show("Mailler Gönderildi.");
                           // Mail gönderme class'ı bir bool değer döndürüyor.                                               
                    }
                    else
                        MessageBox.Show("Kayıt başarısız");
                       // Classdan gelen " OK " değişkeni  1 olmadğı için kayıt başarısız.
                }
                else
                {
                    if (Durum == "Açık" & YetkiliKisi == Global_System.AktifKullanici)
                    {
                        // Update kod bloğu
                        if (sql.ok == 1)
                        {
                          //sql classından gelen bir kontrol. 1 ise güncelleme başarılıdır.                            
                            MessageBox.Show("Güncelleme başarılı");
                            for (int i = 0; i < MailList.Count; i++) { mailler += MailList[i] + ","; }
                            mailler = (mailler.Substring(0, mailler.Length - 1));
                         //otomatik mail göndermeden önce liste içerisindeki mailleri aralarına virgül
                         //atarak yan yana yazmak için kullandım.                                
                          
                         if (SendMail.SendMailLocal(mailler, "Bildirim", "Mail İçeriği","Sistem", "") == true)
                        }
                        else
                        {
                            MessageBox.Show("Güncelleme başarısız");
                           // Classdan gelen " OK " değişkeni  1 olmadğı için güncelleme başarısız.
                            Close();
                        }
                    }
                    else
                        MessageBox.Show("Bu kayıt kapatılmış yada düzenleme yetkiniz yok. ");
                       // Durum açık olmadığı ve YetkiliKisi aktif kullanıcı olmadığı için
                       // bu mesajı gösterdik.
                }
            }
            else
                MessageBox.Show("Hiç mail adresi seçmediniz.");
                // mail gönderilecek kişi seçilmediği için buraya geçti.
                // bunu yaptık çünkü hiç mail seçilmezse for döngüsünde hata verecektir.
        }

Evet arkadaşlar yukarıda gördüğünüz gibi, iç içe bir sürü " if " kullandık ama bunun sıkıntıları da yok değil. Çünkü if ler çoğaldıkça anlaşılması daha zor hale gelir. Belki daha kolay bir yolunu bulabiliriz yukarıdaki örneğin ama acil olarak yapmam gerektiği çok özenmedim.

Saygılarımla
Mustafa BÜKÜLMEZ
http://mustafabukulmez.com/

0 Yorum: