private void UcretHesapla(HizmetBilgileriL entity)
        {
            var egitimBaslamaTarihi = AnaForm.DonemParametreleri.EgitimBaslamaTarihi;
            var egitimBitisTarihi   = AnaForm.DonemParametreleri.DonemBitisTarihi;

            var toplamGunSayisi       = (int)(egitimBitisTarihi - egitimBaslamaTarihi).TotalDays + 1;
            var gunlukUcret           = entity.BrutUcret / toplamGunSayisi;
            var alinanHizmetGunSayisi = entity.IptalTarihi == null ? (int)(egitimBitisTarihi - entity.BaslamaTarihi).TotalDays + 1 : (int)(entity.IptalTarihi - entity.BaslamaTarihi).Value.TotalDays + 1;
            var odenecekUcret         = alinanHizmetGunSayisi > 0 ? gunlukUcret * alinanHizmetGunSayisi : 0;
            var kistDonemDusulenUcret = entity.BrutUcret - odenecekUcret;

            kistDonemDusulenUcret = Math.Round(kistDonemDusulenUcret, AnaForm.DonemParametreleri.HizmetTahakkukKurusKullan ? 2 : 0);

            if (entity.BaslamaTarihi > egitimBaslamaTarihi || entity.IptalEdildi)
            {
                entity.KistDonemDusulenUcret = kistDonemDusulenUcret;
            }
            else
            {
                entity.KistDonemDusulenUcret = 0;
            }

            entity.NetUcret = entity.BrutUcret - entity.KistDonemDusulenUcret;
            entity.EgitimDonemiGunSayisi = toplamGunSayisi;
            entity.AlinanHizmetGunSayisi = alinanHizmetGunSayisi;
            entity.GunlukUcret           = gunlukUcret;
        }
Example #2
0
        protected override void HareketEkle()
        {
            var source = tablo.DataController.ListSource;

            ListeDisiTutulacakKayitlar = source.Cast <HizmetBilgileriL>().Where(x => !x.IptalEdildi && !x.Delete).Select(x => x.HizmetId).ToList();
            var entities = ShowListForms <HizmetListForm> .ShowDialogListForm(KartTuru.Hizmet, ListeDisiTutulacakKayitlar, true, true).EntityListConvert <HizmetL>();

            if (entities == null)
            {
                return;
            }

            foreach (var entity in entities)
            {
                Servis servis = null;
                if (entity.HizmetTipi == HizmetTipi.Servis)
                {
                    servis = (Servis)ShowListForms <ServisListForm> .ShowDialogListForm(KartTuru.Servis, -1);

                    if (servis == null)
                    {
                        continue;
                    }
                }

                var row = new HizmetBilgileriL
                {
                    TahakkukId   = OwnerForm.Id,
                    HizmetId     = entity.Id,
                    HizmetAdi    = entity.HizmetAdi,
                    HizmetTuruId = entity.HizmetTuruId,
                    HizmetTipi   = entity.HizmetTipi,
                    IslemTarihi  = DateTime.Now.Date,
                    //Başlama Tarihi Doğru gelmiyor sorulcak
                    BaslamaTarihi         = entity.BaslamaTarihi,
                    BrutUcret             = entity.Ucret,
                    KistDonemDusulenUcret = 0,
                    IptalEdildi           = false,
                    Insert = true
                };
                if (servis != null)
                {
                    row.ServisId      = servis.Id;
                    row.ServisYeriAdi = servis.ServisYeri;
                    row.BrutUcret     = servis.Ucret;
                }

                UcretHesapla(row);
                source.Add(row);
            }
            tablo.Focus();
            tablo.RefleshDataSource();
            tablo.FocusedRowHandle = tablo.DataRowCount - 1;
            insUptNavigator.Navigator.Buttons.DoClick(insUptNavigator.Navigator.Buttons.EndEdit);
            tablo.FocusedColumn = colHizmetAdi;
            ButtonEnabledDurumu(true);
        }
Example #3
0
        protected internal void TopluIptalEt(HizmetBilgileriL entity)
        {
            var source = tablo.DataController.ListSource.Cast <IndirimBilgileriL>();

            if (source == null)
            {
                return;
            }

            source.ForEach(x =>
            {
                if (x.HizmetId != entity.HizmetId || x.IptalEdildi)
                {
                    return;
                }

                var gunlukIndirim           = x.BrutIndirim / entity.EgitimDonemiGunSayisi;
                var brutIndirim             = gunlukIndirim * entity.AlinanHizmetGunSayisi;
                var kistDonemDusulunIndirim = x.BrutIndirim - brutIndirim;
                kistDonemDusulunIndirim     = Math.Round(kistDonemDusulunIndirim, AnaForm.DonemParametreleri.IndirimTahakkukKurusKullan ? 2 : 0);

                x.IndirimAdi = $"{x.IndirimAdi} - ( *** İptal Edildi *** )";

                if (!x.ManuelGirilenTutar)
                {
                    x.KistDonemDusulenIndirim = kistDonemDusulunIndirim > 0 ? kistDonemDusulunIndirim : 0;
                }

                x.NetIndirim      = x.BrutIndirim - x.KistDonemDusulenIndirim;
                x.IptalTarihi     = DateTime.Now.Date;
                x.IptalEdildi     = true;
                x.HizmetHareketId = entity.Id;
                x.IptalNedeniId   = entity.IptalNedeniId;
                x.IptalNedeniAdi  = entity.IptalNedeniAdi;

                if (!x.Insert)
                {
                    x.Update = true;
                }
            });

            TopluIndirimHesapla();
            tablo.UpdateSummary();
        }