Example #1
0
        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>());
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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>());
        }
Example #5
0
        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);
        }
Example #6
0
        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>());
        }
Example #7
0
        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>());
        }