public static void BekleyenİşlemleriGerçekleştir(string modülSınıfAdı, KritiklikSeviyesi öncelik, object[] inputs) { var bekleyenIslemler = veritabanıİşlemleri.OncelikDurumunaGoreIslemleriGetir(öncelik, modülSınıfAdı).Select(x => x.IslemAdi).ToList(); if (bekleyenIslemler != null) { foreach (var islem in bekleyenIslemler) { var komut = KomutBul(modülSınıfAdı, islem); KomutÇalıştır(modülSınıfAdı, komut.Name, inputs); } } }
public List <Islem> OncelikDurumunaGoreIslemleriGetir(KritiklikSeviyesi kritiklikSeviyesi, string modülSınıfıAdı) { List <Modul> modüller = new List <Modul>() { new Modul { Id = 1, ModulAdi = "MuhasebeModulu" } }; List <Islem> islemler = new List <Islem>() { new Islem { Id = 1, IslemAdi = "OtomatikÖdemeleriGerçekleştir", ModulId = 1, KritiklikSeviyesi = KritiklikSeviyesi.Kirmizi, Öncelik = 1 }, new Islem { Id = 1, IslemAdi = "HesapÜcretiTahsilEt", ModulId = 1, KritiklikSeviyesi = KritiklikSeviyesi.Kirmizi, Öncelik = 2 } }; // var modül = modüller.Find(x => x.ModulAdi.Equals(modülSınıfıAdı));// null check yapılabilir tabi ki burda. Static datalar olduğundan yapmadım. Ama farkında olduğumu belirtmek isterim. var result = islemler.Where(x => x.ModulId == modül.Id && x.KritiklikSeviyesi == kritiklikSeviyesi).OrderBy(x => x.Öncelik); return(result.ToList()); }