private List <CalisanRaporBir> analizEtCokGorevliCalisanlari(List <CalisanGorevlendirme> gorevlendirmeListe, List <int> cokGorevliCalisanIdListe, List <CalisanRaporBir> oncekiAnalizListesi) { try { CalisanGorevlendirme gorevlendirme = null; CalisanRaporBir rapor = null; bool getirilsinMiSadeceResmiGorev = true; if (gorevlendirmeListe == null) { throw new ArgumentNullException(); } if (cokGorevliCalisanIdListe == null) { throw new ArgumentNullException(); } if (oncekiAnalizListesi == null) { throw new ArgumentNullException(); } //çok görevli çalışanların de jure görevlendirmelerinin hesaplanması foreach (int cokGorevliCalisanId in cokGorevliCalisanIdListe) { gorevlendirme = this.getirCalisaninGorevlendirmesi(gorevlendirmeListe, cokGorevliCalisanId, getirilsinMiSadeceResmiGorev); if (gorevlendirme == null) { BosReferansHatasi hata = new BosReferansHatasi(Arac.AlSinifYolu <CalisanGorevlendirme>(), Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(229)); this.yazHata(hata); continue; } rapor = new CalisanRaporBir(gorevlendirme.Unvani); oncekiAnalizListesi = this.ekleListeyeYoksaYadaBirArttir(oncekiAnalizListesi, rapor); if (oncekiAnalizListesi == null) { throw new IslemBasarisizHatasi(); } } return(oncekiAnalizListesi); } catch (ArgumentNullException) { } catch (IslemBasarisizHatasi hata) { this.yazHata(hata); } catch (Exception hata) { this.yazHata(hata); } return(new List <CalisanRaporBir>()); }
private CalisanGorevlendirme getirDevamEdenGorevlendirme(List <CalisanGorevlendirme> liste, bool getirilsinMiSadeceResmiGorevler) { try { CalisanGorevlendirme guncelGorevlendirme = null; DateTime tarih = Sabitler.BosTarih; IEnumerable <CalisanGorevlendirme> altListe = null; if (liste == null) { throw new ArgumentNullException(); } altListe = this.getirDevamEdenGorevlendirmeListe(liste); if (altListe == null) { throw new IslemBasarisizHatasi(); } foreach (CalisanGorevlendirme gorevlendirme in altListe.ToList()) { if (gorevlendirme == null) { BosReferansHatasi hata = new BosReferansHatasi(Arac.AlSinifYolu <CalisanGorevlendirme>(), Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(76)); this.yazHata(hata); continue; } if (getirilsinMiSadeceResmiGorevler && !gorevlendirme.ResmiMi) { continue; } if (tarih < gorevlendirme.Baslangic) { tarih = gorevlendirme.Baslangic; guncelGorevlendirme = gorevlendirme; } } return(guncelGorevlendirme); } catch (ArgumentNullException) { } catch (Exception hata) { this.yazHata(hata); } return(null); }
private int hesaplaKidemYili(List <CalisanGorevlendirme> gorevlendirmeListe) { try { DateTime gorevBitis = Sabitler.BosTarih; TimeSpan aralik = TimeSpan.Zero; int kidemYili = int.MinValue; if (gorevlendirmeListe == null) { throw new ArgumentNullException(); } foreach (CalisanGorevlendirme gorevlendirme in gorevlendirmeListe) { if (gorevlendirme == null) { BosReferansHatasi hata = new BosReferansHatasi(Arac.AlSinifYolu <CalisanGorevlendirme>(), Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(491)); this.yazHata(hata); continue; } gorevBitis = (gorevlendirme.Bitis != null) ? gorevlendirme.Bitis.Value : DateTime.Now; aralik.Add(gorevBitis.Subtract(gorevlendirme.Baslangic)); } kidemYili = (int)Math.Ceiling(aralik.TotalDays / Sabitler.GunSayisiBirYildaki); if (kidemYili < 0) { IslemBasarisizHatasi hata = new IslemBasarisizHatasi(Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(738)); this.yazHata(hata); } return(kidemYili); } catch (ArgumentException) { } catch (Exception hata) { this.yazHata(hata); } return(int.MinValue); }
private List <CalisanRaporBir> ekleListeyeYoksaYadaBirArttir(List <CalisanRaporBir> liste, CalisanRaporBir rapor) { try { int calisanSayisi = int.MinValue; CalisanRaporBir eskiRapor = null; if (liste == null) { throw new ArgumentNullException(); } if (rapor == null) { throw new ArgumentNullException(); } if (liste.Any(p => p.Unvani.Anahtar == rapor.Unvani.Anahtar)) { eskiRapor = liste.FirstOrDefault(p => p.Unvani.Anahtar == rapor.Unvani.Anahtar); if (eskiRapor != null) { calisanSayisi = eskiRapor.CalisanSayisi; liste.Remove(eskiRapor); rapor.CalisanSayisi += calisanSayisi; } else { BosReferansHatasi hata = new BosReferansHatasi(Arac.AlSinifYolu <CalisanRaporBir>(), Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(160)); this.yazHata(hata); } } liste.Add(rapor); return(liste); } catch (ArgumentNullException) { } catch (Exception hata) { this.yazHata(hata); } return(new List <CalisanRaporBir>()); }
internal BosReferansHatasi alHataNesnesi(string hataninAlindigiYer, CalisanGorevlendirme deger1, Calisan deger2, Unvan deger3) { BosReferansHatasi hata = null; if (deger1 == null) { hata = new BosReferansHatasi(Arac.AlSinifYolu <CalisanGorevlendirme>(), hataninAlindigiYer); } else if (deger2 == null) { hata = new BosReferansHatasi(Arac.AlSinifYolu <Calisan>(), hataninAlindigiYer); } else if (deger3 == null) { hata = new BosReferansHatasi(Arac.AlSinifYolu <Unvan>(), hataninAlindigiYer); } return(hata); }
public IEnumerable <CalisanRaporBir> GetirCalisanRaporBir(IEnumerable <BirimViewModel> birimVmListe) { try { List <CalisanRaporBir> liste = new List <CalisanRaporBir>(); IEnumerable <Unvan> unvanListe = null; IEnumerable <CalisanGorevlendirme> lokalGorevlendirme = null; List <CalisanGorevlendirme> genelListe = new List <CalisanGorevlendirme>(); if (birimVmListe == null) { throw new ArgumentNullException(); } unvanListe = this._unvanRepository.GetirUnvanListe(true); if (unvanListe == null) { throw new IslemBasarisizHatasi(); } foreach (BirimViewModel birimVm in birimVmListe.ToList()) { if (birimVm == null) { BosReferansHatasi hata = new BosReferansHatasi(Arac.AlSinifYolu <BirimViewModel>(), Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(487)); this.yazHata(hata); continue; } lokalGorevlendirme = this._calisanGorevRepository.GetirGorevlendirmeListeBirimeGore(birimVm.BirimId); if (lokalGorevlendirme == null) { BosReferansHatasi hata = new BosReferansHatasi(Arac.AlSinifYolu <IEnumerable <CalisanGorevlendirme> >(), Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(493)); this.yazHata(hata); continue; } genelListe.AddRange(lokalGorevlendirme.ToList()); } liste = this.getirCalisanRaporBirListe(genelListe.ToList(), unvanListe.ToList()); if (liste == null) { throw new IslemBasarisizHatasi(); } return(liste); } catch (ArgumentNullException) { } catch (IslemBasarisizHatasi hata) { this.yazHata(hata); } catch (Exception hata) { this.yazHata(hata); } return(new List <CalisanRaporBir>()); }
private List <CalisanRaporBir> analizEtTekGorevliCalisanlari(List <CalisanGorevlendirme> gorevlendirmeListe, out List <int> cokGorevliCalisanIdListe) { try { List <Calisan> calisanListe = new List <Calisan>(); CalisanRaporBir rapor = null; List <CalisanRaporBir> raporListe = new List <CalisanRaporBir>(); List <int> liste = new List <int>(); if (gorevlendirmeListe == null) { throw new ArgumentNullException(); } //tek görevli çalışanları analiz ediyorum. foreach (CalisanGorevlendirme deger in gorevlendirmeListe) { if (deger == null || deger.Calisani == null || deger.Unvani == null) { BosReferansHatasi hata = this._hataIsKurali.alHataNesnesi(Arac.AlHataLokasyonu <GorevlendirmeIsKurali>(321), deger, deger.Calisani, deger.Unvani); this.yazHata(hata); continue; } if (calisanListe.Any(p => p.Anahtar == deger.Calisani.Anahtar)) { continue; } calisanListe.Add(deger.Calisani); if (gorevlendirmeListe.Count(p => p.Calisani.Anahtar == deger.CalisanId) == Sabitler.Bir) { //tek görevli çalışan rapor = new CalisanRaporBir(deger.Unvani); raporListe = this.ekleListeyeYoksaYadaBirArttir(raporListe, rapor); if (raporListe == null) { throw new IslemBasarisizHatasi(); } } else { liste.Add(deger.Calisani.Anahtar); } } cokGorevliCalisanIdListe = liste; return(raporListe); } catch (ArgumentNullException) { } catch (IslemBasarisizHatasi hata) { this.yazHata(hata); } catch (Exception hata) { this.yazHata(hata); } cokGorevliCalisanIdListe = new List <int>(); return(new List <CalisanRaporBir>()); }