public virtual StringBuilder TeklifRaporOlustur(IList <Teklif> teklifler) { if (teklifler == null) { throw new ArgumentNullException("teklifler"); } /* * var sayfaBüyüklüğü = PageSize.A4; * * if (_pdfAyarları.HarfSayfaBüyüklüğüEtkin) * { * sayfaBüyüklüğü = PageSize.LETTER; * }*/ StringBuilder sb = new StringBuilder();// foreach (var teklif in teklifler) { var pdfAyarları = _ayarlarServisi.AyarYükle <PdfAyarları>(); string kurumadi = "", teklifno = teklif.Id.ToString(), ilgilikisi = "", kurumaciklama = "", hazırlayan = "", aciklama = "", konum = "", kodno = "", sparabirimi = ""; decimal kurEuro, kurDolar, tlTutar = 0, tlAlis = 0, euroTutar = 0, dolarTutar = 0, tlToplam = 0 , dolarToplam = 0, euroToplam = 0, tlToplamK = 0, dolarToplamK = 0, euroToplamK = 0 , euroToplamG = 0, tlToplamG = 0, euroHizmet = 0, tlHizmet = 0, euroHaftasonu = 0 , tlHaftasonu = 0, tlKDV8 = 0, euroKDV8 = 0, tlKDV18 = 0, euroKDV18 = 0, tlKDVG = 0 , euroKDVG = 0, hb = 0, dolarHaftasonu = 0, dolarHizmet = 0, dolarToplamG = 0, dolarKDV8 = 0 , dolarKDV18 = 0, dolarKDVG = 0, tlGelir = 0, tlKar = 0; kurumadi = teklif.FirmaId > 0 ? _musteriServisi.FirmaAlId(teklif.FirmaId).Adı : ""; kurEuro = teklif.KurEuro > 0 ? teklif.KurEuro : 1; kurDolar = teklif.KurDolar > 0 ? teklif.KurDolar : 1; DateTime kurTarih = DateTime.Now; var teklif2 = _teklifServisi.TeklifAlId(teklif.OrijinalTeklifId); bool yurtdisi = false; ilgilikisi = teklif.YetkiliId > 0 ? _yetkiliServisi.YetkiliAlId(teklif.YetkiliId).Adı + " " + _yetkiliServisi.YetkiliAlId(teklif.YetkiliId).Soyadı : ""; //kurumaciklama = _musteriServisi.MusteriAlId(teklif.) konum = teklif.Konum; kodno = teklif.Kod; if (teklif.UlkeId != 1) { yurtdisi = true; } hazırlayan = teklif.HazırlayanId > 0 ? _kullanıcıServisi.KullanıcıAlId(teklif.HazırlayanId).TamAdAl() : ""; var logoResmi = _resimServisi.ResimAlId(pdfAyarları.LogoResimId); var logoPath = _resimServisi.ThumbYoluAl(logoResmi, 0, false); var logoMevcut = logoResmi != null; string resim = "<img src=\"" + logoPath + "\" />", parabirimi; //var doc = new Document(sayfaBüyüklüğü); /* StyleSheet styles = new StyleSheet(); * FontFactory.Register(GenelYardımcı.MapPath("~/App_Data/Pdf/arial.ttf"), "Garamond"); // just give a path of arial.ttf * styles.LoadTagStyle("body", "face", "Garamond"); * styles.LoadTagStyle("body", "encoding", "Identity-H");*/ int teklifCount = teklifler.Count; sb.Append("<table border = '1' bgcolor=\"#3E6BE5\" style=\"font-family:Arial; font-size:12px; color:#fff;\"><tr><th colspan=\"4\">Teklif</th><th colspan=\"2\">Alış Fiyatı</th><th colspan=\"2\">Satış Fiyat</th><th colspan=\"2\">Kar/Yüzde Oranı</th><th colspan=\"3\"></th></tr><tr><th>Aciklama</th><th>KURUM</th><th>KİŞİ/ADET</th><th>GÜN</th><th>BİRİM FİYAT</th><th>TUTAR</th><th>BİRİM FİYAT</th><th>TUTAR</th><th>KAR</th><th>GELIR</th><th>EURO TOPLAM</th><th>DOLAR TOPLAM</th><th>TL TOPLAM</th></tr></table>"); sb.Append("<table border = '1' style=\"font-family:Arial; font-size:12px;\">"); decimal alist = 0, satist = 0, kart = 0, gelirt = 0, geliryuzde = 0, alistk = 0, satistk = 0, kartk = 0, gelirtk = 0, geliryuzdek = 0; int count = _bagliTeklifOgesi.BagliTeklifOgesiAlTeklifId(teklif.Id).Count; //int hb = 0; if (teklif.UlkeId != 1) { yurtdisi = true; } List <int> parabirimleri = new List <int>(); for (int i = 0; i < count; i++) { var ogeler = _bagliTeklifOgesi.BagliTeklifOgesiAlTeklifId(teklif.Id); var oge = ogeler[i]; BagliTeklifOgesi oge2; if (count > i + 1) { oge2 = ogeler[i + 1]; } else { oge2 = ogeler[i]; } decimal tutar = oge.SatisFiyat; decimal alis = oge.AlisFiyat; decimal gelir = Convert.ToDecimal(oge.Gelir); decimal kar = oge.Kar; int parabirimiDeger = oge.Parabirimi; parabirimi = parabirimiDeger == 1 ? "TL" : parabirimiDeger == 2 ? "$" : "€"; int konaklama = 0; if (parabirimleri.Count == 0) { parabirimleri.Add(Convert.ToInt32(parabirimiDeger)); } for (int j = 0; j < parabirimleri.Count; j++) { int p = Convert.ToInt32(parabirimiDeger); if (parabirimleri.Contains(p)) { break; } else { parabirimleri.Add(p); } } if (oge.Kdv == 8) { konaklama = 1; } else { konaklama = 0; } if (parabirimiDeger == 1) { sparabirimi = "TL"; tlTutar = tutar; euroTutar = Convert.ToDecimal((tutar / kurEuro)); dolarTutar = Convert.ToDecimal((tutar / kurDolar)); tlAlis = alis; tlGelir = gelir; tlKar = kar; } if (parabirimiDeger == 2) { sparabirimi = "$"; tlTutar = Convert.ToDecimal((tutar * kurDolar)); euroTutar = Convert.ToDecimal((tlTutar / kurEuro)); dolarTutar = tutar; tlAlis = Convert.ToDecimal((alis * kurDolar)); tlGelir = Convert.ToDecimal((gelir * kurDolar)); tlKar = Convert.ToDecimal((kar * kurDolar)); } if (parabirimiDeger == 3) { sparabirimi = "€"; tlTutar = Convert.ToDecimal((tutar * kurEuro)); euroTutar = tutar; dolarTutar = Convert.ToDecimal((tutar / kurDolar)); tlAlis = Convert.ToDecimal((alis * kurEuro)); tlGelir = Convert.ToDecimal((gelir * kurEuro)); tlKar = Convert.ToDecimal((kar * kurEuro)); } if (konaklama == 1) { alistk += tlAlis; satistk += tlTutar; gelirtk += tlGelir; kartk += tlKar; geliryuzdek = satistk > 0 ? kartk / satistk * 100 : 0; geliryuzdek = Math.Round(geliryuzdek, 2); tlToplamK += tlTutar; dolarToplamK += dolarTutar; euroToplamK += euroTutar; } else { alist += tlAlis; satist += tlTutar; gelirt += tlGelir; kart += tlKar; geliryuzde = satist > 0 ? kart / satist * 100 : 0; geliryuzde = Math.Round(geliryuzde, 2); tlToplam += tlTutar; dolarToplam += dolarTutar; euroToplam += euroTutar; } if (oge.Aciklama != string.Empty || oge.Aciklama != "") { aciklama = " (" + oge.Aciklama + ") "; } else { aciklama = ""; } if (i == 0) { sb.Append("<tr><th colspan=\"13\" bgcolor=\"#3E6BE5\" style=\"color:#fff;\">" + oge.Tparent + aciklama + "</th></tr>"); } tlTutar = Math.Round(tlTutar, 2); dolarTutar = Math.Round(dolarTutar, 2); euroTutar = Math.Round(euroTutar, 2); int alisadet = oge.AlisAdet; int satisadet = oge.Adet; int adet = alisadet > 0 ? alisadet : satisadet; sb.Append("<tr><td>" + oge.Adı + "</td><td>" + oge.Kurum + "</td><td>" + adet + "</td><td>" + oge.Gun + "</td><td>" + oge.AlisBirimFiyat + sparabirimi + "</td><td>" + oge.AlisFiyat + sparabirimi + "</td><td>" + oge.SatisBirimFiyat + sparabirimi + "</td><td>" + oge.SatisFiyat + sparabirimi + "</td><td>" + oge.Kar + sparabirimi + "</td><td>" + oge.Gelir + "%" + "</td><td>" + euroTutar.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarTutar.ToString("0,0.00", ci) + "$" + "</td><td>" + tlTutar.ToString("0,0.00", ci) + "TL" + "</td></tr>"); if (oge.Vparent != oge2.Vparent) { sb.Append("<tr><th colspan=\"13\" bgcolor=\"#3E6BE5\" style=\"color:#fff;\">" + oge2.Tparent + aciklama + "</th></tr>"); } } if (teklif.HizmetBedeli != 0 || teklif.HizmetBedeli.ToString() != "") { hb = Convert.ToDecimal(teklif.HizmetBedeli); } euroHaftasonu = euroToplamK + euroToplam; dolarHaftasonu = dolarToplamK + dolarToplam; tlHaftasonu = tlToplamK + tlToplam; euroHizmet = hb > 0 ? (euroToplamK + euroToplam) / 100 * hb : (euroToplamK + euroToplam) / 100; dolarHizmet = hb > 0 ? (dolarToplamK + dolarToplam) / 100 * hb : (dolarToplamK + dolarToplam) / 100; tlHizmet = hb > 0 ? (tlToplamK + tlToplam) / 100 * hb : (tlToplamK + tlToplam) / 100; euroToplamG = euroHaftasonu + euroHizmet; dolarToplamG = dolarHaftasonu + dolarHizmet; tlToplamG = tlHaftasonu + tlHizmet; tlKDV8 = yurtdisi ? 0 : tlToplamK * 8 / 100; euroKDV8 = yurtdisi ? 0 : euroToplamK * 8 / 100; dolarKDV8 = yurtdisi ? 0 : dolarToplamK * 8 / 100; tlKDV18 = yurtdisi ? 0 : tlToplam * 18 / 100 + (tlHizmet * 18 / 100); euroKDV18 = yurtdisi ? 0 : euroToplam * 18 / 100 + (euroHizmet * 18 / 100); dolarKDV18 = yurtdisi ? 0 : dolarToplam * 18 / 100 + (dolarHizmet * 18 / 100); tlKDVG = yurtdisi ? 0 : tlToplamG + tlKDV8 + tlKDV18; euroKDVG = yurtdisi ? 0 : euroToplamG + euroKDV8 + euroKDV18; dolarKDVG = yurtdisi ? 0 : dolarToplamG + dolarKDV8 + dolarKDV18; tlToplam = Math.Round(tlToplam, 2); dolarToplam = Math.Round(dolarToplam, 2); euroToplam = Math.Round(euroToplam, 2); tlToplamK = Math.Round(tlToplamK, 2); dolarToplamK = Math.Round(dolarToplamK, 2); euroToplamK = Math.Round(euroToplamK, 2); euroToplamG = Math.Round(euroToplamG, 2); dolarToplamG = Math.Round(dolarToplamG, 2); tlToplamG = Math.Round(tlToplamG, 2); euroHizmet = Math.Round(euroHizmet, 2); dolarHizmet = Math.Round(dolarHizmet, 2); tlHizmet = Math.Round(tlHizmet, 2); euroHaftasonu = Math.Round(euroHaftasonu, 2); dolarHaftasonu = Math.Round(dolarHaftasonu, 2); tlHaftasonu = Math.Round(tlHaftasonu, 2); tlKDV8 = Math.Round(tlKDV8, 2); euroKDV8 = Math.Round(euroKDV8, 2); dolarKDV8 = Math.Round(dolarKDV8, 2); tlKDV18 = Math.Round(tlKDV18, 2); euroKDV18 = Math.Round(euroKDV18, 2); dolarKDV18 = Math.Round(dolarKDV18, 2); tlKDVG = Math.Round(tlKDVG, 2); euroKDVG = Math.Round(euroKDVG, 2); dolarKDVG = Math.Round(dolarKDVG, 2); sb.Append("</table>"); sb.Append("<table border = '1' style=\"font-family:Arial; font-size:12px;\"><tr><th colspan=\"13\"> </th></tr><tr><td colspan=\"2\">Konaklama Toplamı</td><td colspan=\"3\"><td>" + alistk.ToString("0,0.00", ci) + sparabirimi + "</td><td></td><td>" + satistk.ToString("0,0.00", ci) + sparabirimi + "</td><td>" + kartk.ToString("0,0.00", ci) + sparabirimi + "</td><td>" + geliryuzdek + "%" + "</td><td>" + euroToplamK.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarToplamK.ToString("0,0.00", ci) + "$" + "</td><td>" + tlToplamK.ToString("0,0.00", ci) + "TL" + "</td></tr>"); sb.Append("<tr><td colspan=\"2\">Diğer Toplam</td><td colspan=\"3\"><td>" + alist.ToString("0,0.00", ci) + sparabirimi + "</td><td></td><td>" + satist.ToString("0,0.00", ci) + sparabirimi + "</td><td>" + kart.ToString("0,0.00", ci) + sparabirimi + "</td><td>" + geliryuzde + "%" + "</td><td>" + euroToplam.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarToplam.ToString("0,0.00", ci) + "$" + "</td><td>" + tlToplam.ToString("0,0.00", ci) + "TL" + "</td></tr>"); sb.Append("<tr><td colspan=\"2\">Toplam (Hizmet Dahil)</td><td colspan=\"3\"><td>" + (alist + alistk).ToString("0,0.00", ci) + "TL" + "</td><td></td><td>" + (satist + satistk + tlHizmet).ToString("0,0.00", ci) + "TL" + "</td><td>" + (kart + kartk + tlHizmet).ToString("0,0.00", ci) + "TL" + "</td><td>" + ((satist + satistk + tlHizmet) > 0 ? (kart + kartk + tlHizmet) / (satist + satistk + tlHizmet) * 100 : 0).ToString("0,0.00", ci) + "%" + "</td><td>" + euroHaftasonu.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarHaftasonu.ToString("0,0.00", ci) + "$" + "</td><td>" + tlHaftasonu.ToString("0,0.00", ci) + "TL" + "</td></tr></table>"); sb.Append("<table border = '1' bgcolor=\"#3E6BE5\" style=\"font-family:Arial; font-size:12px; color:#fff;\"><tr><th colspan=\"13\"></th></tr><tr><td colspan=\"13\" ></td></tr><tr><td colspan=\"2\">Toplam</td><td colspan=\"8\" ></td><td>" + euroHaftasonu.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarHaftasonu.ToString("0,0.00", ci) + "$" + "</td><td>" + tlHaftasonu.ToString("0,0.00", ci) + "TL" + "</td></tr><tr><td colspan=\"2\">Hizmet Bedeli " + hb.ToString() + "%</td><td colspan=\"8\" ></td><td>" + euroHizmet.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarHizmet.ToString("0,0.00", ci) + "$" + "</td><td>" + tlHizmet.ToString("0,0.00", ci) + "TL" + "</td></tr><tr><td colspan=\"2\">Genel Toplam</td><td colspan=\"8\" ></td><td>" + euroToplamG.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarToplamG.ToString("0,0.00", ci) + "$" + "</td><td>" + tlToplamG.ToString("0,0.00", ci) + "TL" + "</td></tr><tr><td colspan=\"2\">KDV %8</td><td colspan=\"8\" ></td><td>" + euroKDV8.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarKDV8.ToString("0,0.00", ci) + "$" + "</td><td>" + tlKDV8.ToString("0,0.00", ci) + "TL" + "</td></tr><tr><td colspan=\"2\">KDV %18</td><td colspan=\"8\" ></td><td>" + euroKDV18.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarKDV18.ToString("0,0.00", ci) + "$" + "</td><td>" + tlKDV18.ToString("0,0.00", ci) + "TL" + "</td></tr><tr><td colspan=\"2\">KDV'li Genel Toplam</td><td colspan=\"8\" ></td><td>" + euroKDVG.ToString("0,0.00", ci) + "€" + "</td><td>" + dolarKDVG.ToString("0,0.00", ci) + "$" + "</td><td>" + tlKDVG.ToString("0,0.00", ci) + "TL" + "</td></tr></table>"); sb.Append("<table border = '1' bgcolor=\"#30e5d3\" style=\"font-family:Arial; font-size:12px;\"><tr><th align=\"center\">" + kurTarih.Date.ToShortDateString() + " tarihindeki TCMB efektif satış döviz kurları baz alınarak hesaplanmıştır.<br>1 Euro/" + (kurEuro).ToString("N04", ci) + " TL, 1 Dolar/" + (kurDolar).ToString("N04", ci) + " TL <br></th></tr></table>"); sb.Append("<br />"); sb.Append("<br />"); alist = 0; satist = 0; kart = 0; gelirt = 0; geliryuzde = 0; alistk = 0; satistk = 0; kartk = 0; gelirtk = 0; geliryuzdek = 0; tlTutar = 0; tlAlis = 0; euroTutar = 0; dolarTutar = 0; tlToplam = 0; dolarToplam = 0; euroToplam = 0; tlToplamK = 0; dolarToplamK = 0; euroToplamK = 0; euroToplamG = 0; tlToplamG = 0; euroHizmet = 0; tlHizmet = 0; euroHaftasonu = 0; tlHaftasonu = 0; tlKDV8 = 0; euroKDV8 = 0; tlKDV18 = 0; euroKDV18 = 0; tlKDVG = 0; euroKDVG = 0; hb = 0; dolarHaftasonu = 0; dolarHizmet = 0; dolarToplamG = 0; dolarKDV8 = 0; dolarKDV18 = 0; dolarKDVG = 0; tlKar = 0; tlGelir = 0; tlAlis = 0; StringReader sr = new StringReader(sb.ToString()); } return(sb); }
public virtual void TeklifPdfOlustur(Stream stream, IList <Teklif> teklifler) { if (stream == null) { throw new ArgumentNullException("stream"); } if (teklifler == null) { throw new ArgumentNullException("teklifler"); } var sayfaBüyüklüğü = PageSize.A4; if (_pdfAyarları.HarfSayfaBüyüklüğüEtkin) { sayfaBüyüklüğü = PageSize.LETTER; } StringBuilder sb = new StringBuilder(); var doc = new Document(sayfaBüyüklüğü); StyleSheet styles = new StyleSheet(); FontFactory.Register(GenelYardımcı.MapPath("~/App_Data/Pdf/arial.ttf"), "Garamond"); // just give a path of arial.ttf styles.LoadTagStyle("body", "face", "Garamond"); styles.LoadTagStyle("body", "encoding", "Identity-H"); int teklifCount = teklifler.Count; foreach (var teklif in teklifler) { var pdfAyarları = _ayarlarServisi.AyarYükle <PdfAyarları>(); var firmaId = teklif.FirmaId; string musteriAdı = ""; var musteriGrubu = 1; if (firmaId != 0) { musteriAdı = _musteriServisi.FirmaAlId(firmaId).Adı; } #region Header //logo var logoResmi = _resimServisi.ResimAlId(pdfAyarları.LogoResimId); var logoPath = _resimServisi.ThumbYoluAl(logoResmi, 0, false); var logoMevcut = logoResmi != null; string resim = "<img src=\"" + logoPath + "\" />"; string yetkili = ""; string musteri = ""; if (teklif.YetkiliId > 0) { yetkili = _yetkiliServisi.YetkiliAlId(teklif.YetkiliId).Adı + " " + _yetkiliServisi.YetkiliAlId(teklif.YetkiliId).Soyadı; } if (teklif.FirmaId > 0) { musteri = _musteriServisi.FirmaAlId(teklif.FirmaId).Adı; } sb.Append("<table style=\"font-family:Arial; font-size:6px;\"><tr><td rowspan=\"6\" colspan=\"4\">" + resim + "</td><td>Müşteri Adı:</td><td>" + musteri + "</td></tr><tr><td>İlgili Kişi</td><td>" + yetkili + "</td></tr><tr><td>Hazırlayan:</td><td>" + "" + "</td></tr><tr><td>Toplantı Adı:</td><td>" + teklif.ToplantıAdı + "</td></tr><tr><td>Organizasyon Tarihi:</td><td>" + teklif.BaslamaTarihi + " - " + teklif.BitisTarihi + "</td></tr><tr><td>Yayınlanma Tarihi:</td><td>" + DateTime.Now.Date.ToShortDateString() + "</td></tr></table>"); sb.Append("<table style=\"font-family:Arial; font-size:6px;\"><tr><td>Mekan Adı: " + teklif.MekanAdı + "</td></tr><tr><td>Konum: " + teklif.Konum + "</td></tr><tr><td>Kod No: " + teklif.Kod + "</td></tr></table>"); bool yurtdisi = false; sb.Append("<br />"); sb.Append("<table border = '1' bgcolor=\"#3E6BE5\" style=\"font-family:Arial; font-size:6px; color:#fff;\"><tr style='text-align:center;'><th>BAŞLIK</th><th>ACIKLAMA</th><th>KİŞİ/ADET</th><th>GÜN</th><th>BİRİM FİYAT</th><th>TOPLAM</th></tr></table>"); sb.Append("<table border = '1' style=\"font-family:Arial; font-size:6px;\">"); decimal araToplam = 0, araToplamDolar = 0, araToplamEuro = 0, araToplamKonaklama = 0, araToplamKonaklamaDolar = 0, araToplamKonaklamaEuro = 0, araToplamDiger = 0, araToplamDolarDiger = 0, araToplamEuroDiger = 0, dipToplam = 0, dipToplamDolar = 0, dipToplamEuro = 0, hizmet = 0, hizmetDolar = 0, hizmetEuro = 0, genelToplam = 0, genelToplamDolar = 0, genelToplamEuro = 0, KDV8 = 0, KDV8Dolar = 0, KDV8Euro = 0, KDV18 = 0, KDV18Dolar = 0, KDV18Euro = 0, genelToplamKDVli = 0, genelToplamKDVliDolar = 0, genelToplamKDVliEuro = 0; int count = _bagliTeklifOgesi.BagliTeklifOgesiAlTeklifId(teklif.Id).Count, hb = 0; if (teklif.UlkeId != 1) { yurtdisi = true; } List <int> parabirimleri = new List <int>(); for (int i = 0; i < count; i++) { var ogeler = _bagliTeklifOgesi.BagliTeklifOgesiAlTeklifId(teklif.Id); var oge = ogeler[i]; BagliTeklifOgesi oge2; if (count > i + 1) { oge2 = ogeler[i + 1]; } else { oge2 = ogeler[i]; } string adı = "", açıklama = "", tparent = "", kurum = "", gelir = "", parabirimi = ""; decimal alışBirimFiyat = 0, alışBirimFiyatDolar = 0, alışBirimFiyatEuro = 0, satışBirimFiyat = 0, satışBirimFiyatDolar = 0, satışBirimFiyatEuro = 0, alışFiyat = 0, alışFiyatDolar = 0, alışFiyatEuro = 0, satışFiyat = 0, satışFiyatDolar = 0, satışFiyatEuro = 0, toplamFiyat = 0, toplamFiyatDolar = 0, toplamFiyatEuro = 0, kar = 0, karDolar = 0, karEuro = 0; int adet = 0, gun = 0, kdv = 0, vparent = 0, parabirimiDeger = 0, teklifId = 0, ogeId = 0; bool konaklama = false; alışBirimFiyat = oge.AlisBirimFiyat; alışBirimFiyatDolar = oge.AlisBirimFiyatDolar; alışBirimFiyatEuro = oge.AlisBirimFiyatEuro; satışBirimFiyat = oge.SatisBirimFiyat; satışBirimFiyatDolar = oge.SatisBirimFiyatDolar; satışBirimFiyatEuro = oge.SatisBirimFiyatEuro; alışFiyat = oge.AlisFiyat; alışFiyatDolar = oge.AlisFiyatDolar; alışFiyatEuro = oge.AlisFiyatEuro; satışFiyat = oge.SatisFiyat; satışFiyatDolar = oge.SatisFiyatDolar; satışFiyatEuro = oge.SatisFiyatEuro; toplamFiyat = oge.ToplamFiyat; toplamFiyatDolar = oge.ToplamFiyatDolar; toplamFiyatEuro = oge.ToplamFiyatEuro; kar = oge.Kar; karDolar = oge.KarDolar; karEuro = oge.KarEuro; gelir = oge.Gelir; adet = oge.Adet; gun = oge.Gun; kdv = oge.Kdv; vparent = oge.Vparent; parabirimiDeger = oge.Parabirimi; teklifId = oge.TeklifId; ogeId = oge.Id; adı = oge.Adı; açıklama = oge.Aciklama; tparent = oge.Tparent; kurum = oge.Kurum; parabirimi = parabirimiDeger == 1 ? "TL" : parabirimiDeger == 2 ? "$" : "€"; //bool if (parabirimleri.Count == 0) { parabirimleri.Add(Convert.ToInt32(parabirimiDeger)); } for (int j = 0; j < parabirimleri.Count; j++) { int p = Convert.ToInt32(parabirimiDeger); if (parabirimleri.Contains(p)) { break; } else { parabirimleri.Add(p); } } if (kdv == 8) { konaklama = true; } if (konaklama) { araToplamKonaklama += satışFiyat; araToplamKonaklamaDolar += satışFiyatDolar; araToplamKonaklamaEuro += satışFiyatEuro; } else { araToplamDiger += satışFiyat; araToplamDolarDiger += satışFiyatDolar; araToplamEuroDiger += satışFiyatEuro; } araToplam += satışFiyat; araToplamDolar += satışFiyatDolar; araToplamEuro += satışFiyatEuro; if (i == 0) { sb.Append("<tr><th colspan=\"6\" bgcolor=\"#3E6BE5\" style=\"color:#fff;\">" + tparent + "</th></tr>"); } sb.Append("<tr style='text-align:right;'><td style='text-align:left;'>" + adı + "</td><td style='text-align:left;'>" + açıklama + "</td><td style='text-align:center;'>" + adet + "</td><td style='text-align:center;'>" + gun + "</td><td>" + (parabirimiDeger == 1 ? (satışBirimFiyat.ToString("0,0.00", ci) + parabirimi) : parabirimiDeger == 2 ? (satışBirimFiyatDolar.ToString("0,0.00", ci) + parabirimi) : (satışBirimFiyatEuro.ToString("0,0.00", ci) + parabirimi)) + "</td><td>" + (parabirimiDeger == 1 ? (satışFiyat.ToString("0,0.00", ci) + parabirimi) : parabirimiDeger == 2 ? (satışFiyatDolar.ToString("0,0.00", ci) + parabirimi) : (satışFiyatEuro.ToString("0,0.00", ci) + parabirimi)) + "</td></tr>"); if (vparent != oge2.Vparent) { sb.Append("<tr style='text-align:center;'><th colspan=\"5\" style='text-align:right;' border='0'>" + tparent + "</th><td style='text-align:right;' bgcolor=\"#30e5d3\">" + ((parabirimi == "TL") ? araToplam.ToString("0,0.00", ci) + "TL" : (parabirimi == "$") ? araToplamDolar.ToString("0,0.00", ci) + "$" : araToplamEuro.ToString("0,0.00", ci) + "€") + "</td></tr><tr><td colspan=\"6\" border='0'> </td></tr>"); sb.Append("<tr><th colspan=\"6\" bgcolor=\"#3E6BE5\" style=\"color:#fff;\">" + oge2.Tparent + "</th></tr>"); araToplam = 0; araToplamDolar = 0; araToplamEuro = 0; } if (i == count - 1) { sb.Append("<tr style='text-align:center;'><th colspan=\"5\" style='text-align:right;' border='0'>" + tparent + "</th><td style='text-align:right;' bgcolor=\"#30e5d3\">" + ((parabirimi == "TL") ? araToplam.ToString("0,0.00", ci) + "TL" : (parabirimi == "$") ? araToplamDolar.ToString("0,0.00", ci) + "$" : araToplamEuro.ToString("0,0.00", ci) + "€") + "</td></tr><tr><td colspan=\"6\" border='0'> </td></tr>"); } } if (teklif.HizmetBedeli.ToString() != string.Empty || teklif.HizmetBedeli.ToString() != "") { hb = teklif.HizmetBedeli; } dipToplam = araToplamDiger + araToplamKonaklama; dipToplamDolar = araToplamDolarDiger + araToplamKonaklamaDolar; dipToplamEuro = araToplamEuroDiger + araToplamKonaklamaEuro; hizmet = (araToplamKonaklama + araToplamDiger) / 100 * hb; hizmetDolar = (araToplamKonaklamaDolar + araToplamDolarDiger) / 100 * hb; hizmetEuro = (araToplamKonaklamaEuro + araToplamEuroDiger) / 100 * hb; genelToplam = dipToplam + hizmet; genelToplamDolar = dipToplamDolar + hizmetDolar; genelToplamEuro = dipToplamEuro + hizmetEuro; KDV8 = yurtdisi ? 0 : araToplamKonaklama * 8 / 100; KDV8Dolar = yurtdisi ? 0 : araToplamKonaklamaDolar * 8 / 100; KDV8Euro = yurtdisi ? 0 : araToplamKonaklamaEuro * 8 / 100; KDV18 = yurtdisi ? 0 : araToplamDiger * 18 / 100 + hizmet * 18 / 100; KDV18Dolar = yurtdisi ? 0 : araToplamDolarDiger * 18 / 100 + hizmetDolar * 18 / 100; KDV18Euro = yurtdisi ? 0 : araToplamEuroDiger * 18 / 100 + hizmetEuro * 18 / 100; genelToplamKDVli = yurtdisi ? genelToplam : genelToplam + KDV18 + KDV8; genelToplamKDVliDolar = yurtdisi ? genelToplamDolar : genelToplamDolar + KDV18Dolar + KDV8Dolar; genelToplamKDVliEuro = yurtdisi ? genelToplamEuro : genelToplamEuro + KDV18Euro + KDV8Euro; sb.Append("</table>"); sb.Append("<table border = '1' style=\"font-family:Arial; font-size:6px;\">" + "<tr><th colspan=\"6\"></th></tr><tr style='text-align:right;'>" + "<td style='text-align:left;'>Konaklama Toplamı</td><td colspan=\"2\"></td><td>" + araToplamKonaklamaEuro.ToString("0,0.00", ci) + "€" + "</td><td>" + araToplamKonaklamaDolar.ToString("0,0.00", ci) + "$" + "</td><td>" + araToplamKonaklama.ToString("0,0.00", ci) + "TL" + "</td></tr><tr style='text-align:right;'>" + "<td style='text-align:left;'>Diğer Toplam</td><td colspan=\"2\"></td><td>" + araToplamEuroDiger.ToString("0,0.00", ci) + "€" + "</td><td>" + araToplamDolarDiger.ToString("0,0.00", ci) + "$" + "</td><td>" + araToplamDiger.ToString("0,0.00", ci) + "TL" + "</td></tr><tr><td colspan=\"6\"> </td></tr></table>"); for (int i = 0; i < parabirimleri.Count; i++) { string parabirimi2 = parabirimleri[i] == 1 ? "TL" : parabirimleri[i] == 2 ? "$" : "€"; string parabirimi3 = parabirimleri[i] == 1 ? "TL" : parabirimleri[i] == 2 ? "DOLAR" : "EURO"; string color = parabirimleri[i] == 1 ? "#C64333" : parabirimleri[i] == 2 ? "#00A65A" : "#00C0EF"; string diptoplam = parabirimleri[i] == 1 ? dipToplam.ToString("0,0.00", ci) : parabirimleri[i] == 2 ? dipToplamDolar.ToString("0,0.00", ci) : dipToplamEuro.ToString("0,0.00", ci); string hzmt = parabirimleri[i] == 1 ? hizmet.ToString("0,0.00", ci) : parabirimleri[i] == 2 ? hizmetDolar.ToString("0,0.00", ci) : hizmetEuro.ToString("0,0.00", ci); string kdv8 = parabirimleri[i] == 1 ? KDV8.ToString("0,0.00", ci) : parabirimleri[i] == 2 ? KDV8Dolar.ToString("0,0.00", ci) : KDV8Euro.ToString("0,0.00", ci); string kdv18 = parabirimleri[i] == 1 ? KDV18.ToString("0,0.00", ci) : parabirimleri[i] == 2 ? KDV18Dolar.ToString("0,0.00", ci) : KDV18Euro.ToString("0,0.00", ci); string geneltoplamkdvli = parabirimleri[i] == 1 ? genelToplamKDVli.ToString("0,0.00", ci) : parabirimleri[i] == 2 ? genelToplamKDVliDolar.ToString("0,0.00", ci) : genelToplamKDVliEuro.ToString("0,0.00", ci); string geneltoplam = parabirimleri[i] == 1 ? genelToplam.ToString("0,0.00", ci) : parabirimleri[i] == 2 ? genelToplamDolar.ToString("0,0.00", ci) : genelToplamEuro.ToString("0,0.00", ci); sb.Append("<table border = '1' bgcolor=\"" + color + "\" style=\"font-family:Arial; font-size:6px; color:#fff;\">" + "<tr style='text-align:right;'><td style='text-align:left;'>" + parabirimi3 + " Toplam</td><td colspan=\"4\" ></td><td>" + diptoplam + parabirimi2 + "<tr style='text-align:right;'><td style='text-align:left;'>" + parabirimi3 + " Acenta Hizmet Bedeli %" + hb.ToString() + "</td><td colspan=\"4\" ></td><td>" + hzmt + parabirimi2 + "<tr style='text-align:right;'><td style='text-align:left;'>" + parabirimi3 + " Genel Toplam" + hb.ToString() + "</td><td colspan=\"4\" ></td><td>" + geneltoplam + parabirimi2 + "<tr style='text-align:right;'><td style='text-align:left;'>" + parabirimi3 + " KDV %8</td><td colspan=\"4\" ></td><td>" + kdv8 + parabirimi2 + "<tr style='text-align:right;'><td style='text-align:left;'>" + parabirimi3 + " KDV %18</td><td colspan=\"4\" ></td><td>" + kdv18 + parabirimi2 + "<tr style='text-align:right;'><td style='text-align:left;'>" + parabirimi3 + " KDV'li Genel Toplam</td><td colspan=\"4\" ></td><td>" + geneltoplamkdvli + parabirimi2 + "</td></tr><tr><td bgcolor=\"#ffffff\" colspan=\"6\"></td></tr></table>"); } //Döviz Kuru sb.Append("<table border = '1' bgcolor=\"#30e5d3\" style=\"font-family:Arial; font-size:6px;\"><tr><th align=\"center\" colspan=\"6\">" + DateTime.Now.Date.ToShortDateString() + " tarihindeki TCMB efektif satış döviz kurları baz alınarak hesaplanmıştır.<br>1 Euro/" + teklif.KurDolar.ToString("N04", ci) + " TL, 1 Dolar/" + teklif.KurDolar.ToString("N04", ci) + " TL <br><p style=\"font-family:Arial; font-size:8px; color:#ff0000;\">*Organizasyonun gerçekleştiği günkü TCMB efektif satış kuru baz alınarak faturalandırılacaktır.</p></th></tr></table>"); #endregion } StringReader sr = new StringReader(sb.ToString()); HTMLWorker htmlparser = new HTMLWorker(doc, null, styles); var pdfWriter = PdfWriter.GetInstance(doc, stream); doc.Open(); htmlparser.Parse(sr); doc.Close(); }