public ActionResult createinvoice(Guid id) { if (id == null) { return(new HttpNotFoundResult("Geçersiz fatura numarası")); } if (id == Guid.Empty) { return(new HttpNotFoundResult("Geçersiz fatura numarası")); } Siparisler result = _siparis.Find(id); if (result == null) { return(new HttpNotFoundResult("Böyle bir sipariş bulunamadı.")); } SirketBilgiTB sirket = _sirket.Find(); string fatid = Guid.NewGuid().ToString().Replace("-", "").ToUpper(); List <ItemRow> aciklamalar = new List <ItemRow>(); aciklamalar.Add(ItemRow.Make("Günlük Yemek Ücreti", $"{result.Yemek.YemekAdi} {result.Yemek.PorsiyonGr} gr,{result.YemekSayisi} kişilik,sipariş trh:{result.SiparisTarihi.ToShortDateString()}", result.YemekSayisi, 8.0m, result.Musteri.GunlukYemekFiyati, decimal.Parse(result.Odeme.OdemeTutari))); new InvoicerApi(SizeOption.A4, OrientationOption.Landscape, "₺") .TextColor("#8C2234") .BackColor("#FFD6CC").Title($"Günlük Yemek Faturası") .Image(HttpContext.Server.MapPath("~/Content/assets/images/ikra/logo.png"), 127, 85) .Company(Address.Make($"ÖDEME YAPAN", new string[] { result.Musteri.FirmaAdSoyad, result.Musteri.Telefon, result.Musteri.Email, result.Musteri.FirmaAdres })) .Client(Address.Make($"ÖDEME ALAN", new string[] { sirket.Name, sirket.Phone, sirket.VATNo, sirket.Address }, sirket.Name, sirket.VATNo)) .Items(aciklamalar) .DueDate(result.Odeme.OdemeTarihi) .Totals(new List <TotalRow> { TotalRow.Make("Ara Toplam(Kesinti)", 0m), TotalRow.Make("Toplam Ödenen Ücret", decimal.Parse(result.Odeme.OdemeTutari), true), }) .Details(new List <DetailRow> { DetailRow.Make("Yemek Ücreti Faturası", $"Müşterimiz {result.Musteri.FirmaAdSoyad}'nın günlük yemek ücreti için verilen faturadır") }) .Footer("http://www.ikrayemek.com.tr") .Reference(fatid.Substring(0, 15)) .Save(HttpContext.Server.MapPath("~/Content/") + fatid + ".pdf"); byte[] fileBytes = System.IO.File.ReadAllBytes(HttpContext.Server.MapPath("~/Content/") + fatid + ".pdf"); string fileName = $"IKRAYEMEK{result.SiparisTarihi.Year}{result.SiparisTarihi.Month}{result.SiparisTarihi.Day}{result.SiparisTarihi.Hour}{result.SiparisTarihi.Minute}{result.SiparisTarihi.Second}-FATURA.pdf"; return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName)); return(File("", "")); }
public SirketBilgiTB Find() { return(_manager.Find()); }
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); } }