public void MaasInvoice(Guid personalid) { Guid fatid = Guid.NewGuid(); Personeller personal = _personel.Find(personalid); SirketBilgiTB sirket = _sirket.Find(); IEnumerable <Izinler> izinler = CalcIzin(personalid); IEnumerable <Avanslar> avanslar = CalcAvans(personalid); decimal gunlukUcret = CalcGunlukUcret(personalid); DateTime sonMaasTarihi = CalcMaas(personalid); int toplamCalismaGunu = ( DateTime.Now - sonMaasTarihi).Days; decimal maas = toplamCalismaGunu * gunlukUcret; decimal kesintiler = 0; List <ItemRow> aciklamalar = new List <ItemRow>(); foreach (var item in izinler) { var izinSuresi = item.IzinSuresi - item.IzinTarihi; aciklamalar.Add( ItemRow.Make("İZİN", $"Izin kesintisi-{item.IzinTarihi.Date.ToShortDateString()} alından {izinSuresi.Days.ToString()} günlük izin ", izinSuresi.Days, 0, gunlukUcret, gunlukUcret * izinSuresi.Days)); kesintiler += gunlukUcret * izinSuresi.Days; } foreach (var item in avanslar) { aciklamalar.Add(ItemRow.Make("AVANS", $"Avans kesintisi - {item.AvansTarihi.Date.ToShortDateString()}", 1, 0, item.AvansTutari, item.AvansTutari)); kesintiler += item.AvansTutari; } aciklamalar.Add(ItemRow.Make("MAAŞ BİLGİSİ", $"Günlük çalışma ücreti {gunlukUcret}", toplamCalismaGunu, 0, gunlukUcret, maas)); new InvoicerApi(SizeOption.A4, OrientationOption.Landscape, "₺") .TextColor("#8C2234") .BackColor("#FFD6CC").Title($"{sirket.Name} Personel Maaş Faturası") .Image(sirket.Logo, 127, 85) .Company(Address.Make($"ÖDEME YAPAN", new string[] { sirket.Name, sirket.Phone, sirket.VATNo, sirket.Address }, sirket.Name, sirket.VATNo)) .Client(Address.Make("ÖDEME ALAN", new string[] { $"Adı Soyadı :{personal.AdSoyad}", $"Görevi :{personal.Gorevi}", $"Telefon :{personal.Telefon}" })) .Items(aciklamalar) .Totals(new List <TotalRow> { TotalRow.Make("KESİNTİLER", -kesintiler), TotalRow.Make("GÜN BAŞINA ÇALIŞMA", maas), TotalRow.Make("TOPLAM KESİN ÜCRET(MAAŞ)", maas - kesintiler, true), }) .Details(new List <DetailRow> { DetailRow.Make("Maaş ödeme faturası", "Personel maaş bordrosu yerine kullanılabilir.", "", $"Ek bu faturada,İkra yemek fabrikası çalışanı {personal.AdSoyad} 'ın maaş ödemesinin yapıldığını gösterir.Çeşitli nedenlerle kesintileri varsa bu faturada belirtilir.") }) .Footer("http://www.ikrayemek.com.tr").Reference(fatid.ToString().Substring(0, 32)) .Save(); Maaslar yeniMaasOdemesi = new Maaslar(); yeniMaasOdemesi.Id = fatid; yeniMaasOdemesi.PersonelId = personalid; yeniMaasOdemesi.OdemeTutari = maas - kesintiler; yeniMaasOdemesi.SonMaasDonemTarihi = DateTime.Now; yeniMaasOdemesi.FaturaId = fatid.ToString().Substring(0, 32); yeniMaasOdemesi.Odendi = true; Insert(yeniMaasOdemesi); _kasa.InsertMaas(yeniMaasOdemesi); foreach (var item in izinler) { item.MaastanDusurulduMu = true; _izin.Update(item); } foreach (var item in avanslar) { item.MaastanDusulduMu = true; _avans.Update(item); } }
public void Update(Avanslar model) { _manager.Update(model); }