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; }
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); }
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(); }