public IsGuder(ICalisanIsKurali calisanIsKurali, IGorevlendirmeIsKurali gorevlendirmeIsKurali)
 {
     this._calisanIsKurali       = calisanIsKurali;
     this._gorevlendirmeIsKurali = gorevlendirmeIsKurali;
     this._hataServis            = new HataServis();
     this._birimServis           = new BirimServis();
 }
        public GetirCalisanRaporBirYanit GetirCalisanRaporBir(GetirCalisanRaporBirIstek istek)
        {
            try
            {
                IEnumerable <BirimViewModel> birimListe = null;
                BirimServis birimServis         = new BirimServis();
                GetirCalisanRaporBirYanit yanit = new GetirCalisanRaporBirYanit(false);
                int kullaniciId = int.MinValue;
                IEnumerable <CalisanRaporBir> calisanRaporBirListe = new List <CalisanRaporBir>();

                if (!this._kontrol.uygunMu(istek))
                {
                    yanit.IsaretleGecemediIlkKontrolu(this._kontrol.alHataKodu(istek));
                    return(yanit);
                }

                kullaniciId = istek.KullaniciId ?? int.MinValue;

                if (kullaniciId == int.MinValue)
                {
                    throw new ArgumentException();
                }

                birimListe = birimServis.getirBirimKullanicininGorebilecegi(kullaniciId);

                if (birimListe == null)
                {
                    throw new ApplicationException();
                }

                calisanRaporBirListe = this._gorevlendirmeIsKurali.GetirCalisanRaporBir(birimListe);

                if (calisanRaporBirListe == null)
                {
                    throw new ApplicationException();
                }

                yanit = new GetirCalisanRaporBirYanit(calisanRaporBirListe);

                return(yanit);
            }
            catch (Exception hata)
            {
                this._hataServis.YazHata(hata);
                return(new GetirCalisanRaporBirYanit(hata));
            }
        }