protected void btnPrintAnexDeal_Click(object sender, EventArgs e) { if (GXGridView1.SelectedIndex != -1) { Broker.DataAccess.Facture f; if (GXGridView1.SelectedValue != null) { int GXgvSelectedValue = Convert.ToInt32(GXGridView1.SelectedValue); f = Broker.DataAccess.Facture.Get(GXgvSelectedValue); } else { int GXgvSelectedValue = GXGridView1SelectedValue; f = Broker.DataAccess.Facture.Get(GXgvSelectedValue); } if (f.DocumentSubType.Code == DocumentSubType.FAKTURA_KLIENT || f.DocumentSubType.Code == DocumentSubType.GRUPNA_FAKTURA) { List <PolicyItemFactureItem> pifi = PolicyItemFactureItem.GetByFactureID(f.ID); if (pifi[0].PolicyItem.Rates.Count > 0) { btnNew.CssClass = "novZapis"; btnFactureItems.CssClass = "prikaz"; btnPreview.CssClass = "osvezi"; btnReport.CssClass = "izvestaj"; btnSearch.CssClass = "prebaraj"; btnFactureItems.CssClass = "prikaz"; btnPintFacture.CssClass = "pecati"; btnChangeStatus.CssClass = "promeniStatus"; btnPrintAnex.CssClass = "dogovor_Active"; btnPaymentsPerFacture.CssClass = "plakanja"; PrintFactures.PrintAnex(f); } else { RegisterStartupScript("myAlert", "<script>alert('Фактурата не е договорена за плаќање на рати!')</script>"); } } else { RegisterStartupScript("myAlert", "<script>alert('Фактурата не е договорена за плаќање на рати!')</script>"); } } }
protected void btnInsert_Click(object sender, EventArgs e) { string factureNumber = tbFactureNumber.Text; DateTime paidDate = DateTime.Now; DateTime.TryParse(tbDateOfPayment.Text, out paidDate); try { Broker.DataAccess.Facture f = Broker.DataAccess.Facture.GetByNumber(factureNumber); if (f != null) { foreach (GridViewRow gvRow in GridViewPayments.Rows) { decimal newTotValue = 0; TextBox tbPaidValue = (TextBox)gvRow.FindControl("tbValue"); TextBox tbFactureItemID = (TextBox)gvRow.FindControl("tbFactureItemID"); decimal.TryParse(tbPaidValue.Text, out newTotValue); int factureItemID = 0; int.TryParse(tbFactureItemID.Text, out factureItemID); if (factureItemID > 0) { if (newTotValue < FactureCollectedPaidValue.GetPaidValueForFactureItem(factureItemID)) { RegisterStartupScript("myAlert", "<script>alert('ВНЕСОВТЕ ПОМАЛ ИЗНОС ОД ТОА ШТО Е ПЛАТЕНО ДО СЕГА!')</script>"); return; } if (newTotValue > FactureItem.Get(factureItemID).BrokerageValue) { RegisterStartupScript("myAlert", "<script>alert('ВНЕСОВТЕ ПОГОЛЕМ ИЗНОС ОД ПРЕСМЕТАНАТА БРОКЕРАЖА!')</script>"); return; } if (FactureCollectedPaidValue.GetPaidValueForFactureItem(factureItemID) != FactureItem.Get(factureItemID).BrokerageValue) { FactureCollectedPaidValue fcpv = new FactureCollectedPaidValue(); fcpv.FactureItemID = factureItemID; fcpv.PaidDate = paidDate; fcpv.PaidValue = newTotValue - FactureCollectedPaidValue.GetPaidValueForFactureItem(factureItemID); fcpv.Insert(); FactureItem fi = FactureItem.Get(factureItemID); List <PolicyItemFactureItem> lstPIFI = PolicyItemFactureItem.GetByFactureItemID(factureItemID); decimal koef = fcpv.PaidValue / fi.BrokerageValue; List <InsuranceSubType> listAppropriateIST = Broker.DataAccess.ControlAppropriateInsuranceSubType.Table.Select(c => c.InsuranceSubType).ToList(); Dictionary <InsuranceSubType, decimal> dic = new Dictionary <InsuranceSubType, decimal>(); decimal totValue = 0; foreach (PolicyItem pi in lstPIFI.Select(c => c.PolicyItem).Where(c => c.Policy.Discard == false).ToList()) { decimal brokPercentage = 0; if (pi.BrokerageID != null) { if (pi.Policy.Client.IsLaw) { brokPercentage = pi.Brokerage.PercentageForLaws; } else { brokPercentage = pi.Brokerage.PercentageForPrivates; } } else if (pi.PacketBrokerageID != null) { if (pi.Policy.Client.IsLaw) { brokPercentage = pi.PacketsInsuranceSubType.BrokeragePecentageForLaws; } else { brokPercentage = pi.PacketsInsuranceSubType.BrokeragePecentageForPrivates; } } foreach (InsuranceSubType ist in listAppropriateIST) { List <Broker.DataAccess.Control> listControls = ControlAppropriateInsuranceSubType.GetByInsuranceSubType(ist.ID); decimal tmpValue = 0; foreach (Broker.DataAccess.Control con in listControls) { PolicyExtendInformation pei = PolicyExtendInformation.GetByPolicyItemAndControl(pi.ID, con.ID); if (pei != null) { tmpValue += Convert.ToDecimal(pei.Value); } } if (dic.Keys.Contains(ist)) { dic[ist] += (tmpValue * brokPercentage / 100); } else { dic.Add(ist, (tmpValue * brokPercentage / 100)); } } //totValue += RateController.Scale5(pi.PremiumValue * brokPercentage / 100); totValue += pi.PremiumValue * brokPercentage / 100; } totValue = RateController.Scale5(totValue); decimal addValue = 0; foreach (KeyValuePair <InsuranceSubType, decimal> kvp in dic) { if (kvp.Value > 0) { addValue += kvp.Value; FacCollPaidValuesPerInsSubType fcp = new FacCollPaidValuesPerInsSubType(); fcp.FactureCollectedPaidValueID = fcpv.ID; fcp.InsuranceSubTypeID = kvp.Key.ID; fcp.PaidValue = RateController.Scale5(fcpv.PaidValue * kvp.Value / totValue); fcp.Insert(); } } decimal baseValue = fi.BrokerageValue - addValue; FacCollPaidValuesPerInsSubType fcpBase = new FacCollPaidValuesPerInsSubType(); fcpBase.FactureCollectedPaidValueID = fcpv.ID; fcpBase.InsuranceSubTypeID = fi.InsuranceSubTypeID; fcpBase.PaidValue = RateController.Scale5(fcpv.PaidValue * baseValue / totValue); fcpBase.Insert(); } } } } else { lblFeedback.Text = "Не е пронајдена фактура!"; } } catch (Exception ex) { lblFeedback.Text = "Грешка!"; } }
public static void PrintAnex(Policy p) { List <Rate> ratesForPrint = Rate.GetByPolicyItemID(p.PolicyItems[0].ID); Broker.DataAccess.Facture f = PolicyItemFactureItem.GetByPolicyItemID(p.PolicyItems[0].ID); PDFCreators creator = new PDFCreators(true, 25, 25, 15, 15); creator.SetDocumentHeaderFooter(); creator.OpenPDF(); creator.GetContentByte(); creator.AddJDBLogoForFactures(10, 775); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" Жиро-сметка : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.ZIRO_SMETKA).Value); creator.SetTitleLeft8(" Депонент : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.DEPONENT).Value); creator.SetTitleLeft8(" ЕДБ : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.EDB).Value + " " + "Матичен број : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.MATICEN_BROJ).Value); creator.SetTitleLeft8(" "); creator.SetTitleLeft8("Договорувач " + p.Client.Name + " " + "Експозитура " + p.Branch.Name); creator.SetTitleLeft8(" "); creator.SetTitle("ДОГОВОР " + p.PolicyItems[0].PolicyNumber); creator.SetTitle("за плаќање на должна премија за осигурување"); creator.SetTitle("(плаќање на рати)"); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8("1.Премијата за осигурување ќе се плати на рати, како што следи:"); string[] headersRates = { "Реден број", "Рок за плаќање", "Полиса", "Фактура број", "Износ" }; float[] widthPercentagesRates = { 10, 25, 25, 20, 20 }; TypeCode[] typeCodesRates = { TypeCode.Int32, TypeCode.String, TypeCode.String, TypeCode.String, TypeCode.Decimal }; creator.CreateTable_Facture(headersRates.Length, headersRates, widthPercentagesRates); ratesForPrint = ratesForPrint.OrderBy(c => c.Date).ToList(); int counter = 1; foreach (Rate r in ratesForPrint) { object[] valuesRates = new object[headersRates.Length]; valuesRates[0] = counter; valuesRates[1] = r.Date.ToShortDateString(); valuesRates[2] = r.PolicyItem.PolicyNumber; if (f != null) { valuesRates[3] = f.FactureNumber; } else { valuesRates[3] = ""; } valuesRates[4] = String.Format("{0:#,0.00}", r.Value) + " ДЕН."; creator.AddDataRowForFactures(valuesRates, headersRates.Length, typeCodesRates); counter++; } object[] values = new object[headersRates.Length]; values[0] = ""; values[1] = ""; values[2] = ""; values[3] = "Вкупно"; values[4] = String.Format("{0:#,0.00}", p.PolicyItems[0].PremiumValue) + " ДЕН."; creator.AddDataRowForFactures(values, headersRates.Length, typeCodesRates); creator.AddTable(); creator.SetTitleLeft8("2.Доколку настане осигуран случај - штета, независно од тоа што е договорено плаќање на рати, премијата за осигурување стасува за наплата веднаш до висината на надоместокот што треба да се исплати и ќе се наплати по пат на компензација."); creator.SetTitleLeft8("3.Ако премијата не се плати во договорените рокови од овој Договор, ќе се пресметува камата."); creator.SetTitleLeft8("4.Договорот е составен од три еднообразни примероци, од кои еден за осигуреникот, а два за осигурувачот."); creator.SetTitle(" "); creator.SetTitle(" "); if (f != null) { creator.SetTitleCenter8("Во " + f.User.Branch.Municipality.Name + " на " + f.DateOfCreation.ToShortDateString()); } else { creator.SetTitleCenter8("Во " + p.Branch.Municipality.Name + " на " + p.ApplicationDate.ToShortDateString()); } creator.SetTitle(" "); creator.SetTitle(" "); string brokerName = BrokerHouseInformation.GetBrokerHouseName(); creator.SetTitleLeft8(" " + brokerName + " ДОГОВОРУВАЧ"); creator.SetTitleLeft8(" "); creator.SetTitleLeft8("_________________________ ____________________"); creator.FinishPDF_FileName("Aneks" + p.PolicyItems[0].PolicyNumber); }
public static void PrintFacture(Broker.DataAccess.Facture f) { string brokerName = BrokerHouseInformation.GetBrokerHouseName(); if (f.DocumentSubType.Code == DocumentSubType.FAKTURA_PROVIZIJA || f.DocumentSubType.Code == DocumentSubType.IZLEZNA_FAKTURA_ZA_PROVZIJA_ZA_ZIVOTNO_OSUGURUVANjE) { PDFCreators creator = new PDFCreators(true, 25, 25, 15, 15); creator.SetDocumentHeaderFooter(); creator.OpenPDF(); creator.GetContentByte(); creator.AddJDBLogoForFactures(10, 775); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); if (f.DocumentSubType.Code == DocumentSubType.FAKTURA_PROVIZIJA) { creator.SetTitleLeft8(" Жиро-сметка : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.ZIRO_SMETKA_ZA_OSIG_KOMPANII).Value); } else if (f.DocumentSubType.Code == DocumentSubType.FAKTURA_KLIENT) { creator.SetTitleLeft8(" Жиро-сметка : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.ZIRO_SMETKA).Value); } creator.SetTitleLeft8(" Депонент : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.DEPONENT).Value); creator.SetTitleLeft8(" ЕДБ : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.EDB).Value + " " + "Матичен број : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.MATICEN_BROJ).Value); creator.SetTitleLeft8(" "); if (f.Discard) { creator.SetTitleCenterForFactureNumber("СТОРНИРАНА Ф-ра бр. " + f.FactureNumber); } else { creator.SetTitleCenterForFactureNumber("Фактура бр. " + f.FactureNumber); } string internalCode = ""; try { FinansovoDataClassesDataContext fdc = new FinansovoDataClassesDataContext(); List <Client> listCLients = fdc.Clients.Where(c => c.EMBG == f.Client.EMBG).ToList(); if (listCLients.Count > 0) { internalCode = listCLients[0].Code; } } catch { } if (internalCode != string.Empty) { creator.SetTitleLeftWithFontSize10(internalCode); } creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Name).ToUpper()); creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Address).ToUpper()); //creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Place.Municipality.Name).ToUpper()); creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Place.Name).ToUpper()); creator.SetTitleLeft10("Датум на фактура: " + f.DateOfCreation.ToShortDateString()); creator.SetTitleLeft10("Рок на плаќање: " + f.DateOfPayment.ToShortDateString()); //creator.SetTitleLeft8("Период: " + f.FromDate.ToShortDateString() + " - " + f.ToDate.ToShortDateString()); string[] headers = { "Ред. бр.", "Опис", "Количина", "Премија", "Брокеража" }; float[] widthPercentages = { 8, 45, 15, 17, 15 }; TypeCode[] typeCodes = { TypeCode.Int32, TypeCode.String, TypeCode.Int32, TypeCode.Decimal, TypeCode.Decimal }; creator.CreateTable_Facture(headers.Length, headers, widthPercentages); object[] values; foreach (FactureItem fi in f.FactureItems) { values = new object[headers.Length]; values[0] = fi.Number.ToString(); values[1] = fi.Description; values[2] = fi.Count.ToString(); values[3] = String.Format("{0:#,0.00}", fi.PremiumValue); values[4] = String.Format("{0:#,0.00}", fi.BrokerageValue); creator.AddDataRowForFactures(values, headers.Length, typeCodes); } values = new object[headers.Length]; values[0] = ""; values[1] = ""; values[2] = ""; values[3] = "Вкупно"; values[4] = String.Format("{0:#,0.00}", f.BrokerageValue); creator.AddDataRowForFactures(values, headers.Length, typeCodes); creator.AddTable(); creator.SetTitleLeftBold14(" "); creator.SetTitleLeftItalic10("Со букви: " + NumberToTextController.Konvertiranje(f.BrokerageValue)); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Ве молиме фактурираниот износ да го платите до назначениот рок на плаќање."); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Доколку износот за фактурата не биде платен до наведениот датум, се пресметува затезна камата од денот на стасаност до денот на плаќањето."); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Согласно со член 23, точка 6 од Законот за ДДВ дејноста осигурување е ослободена од плаќање данок без право на одбиток на претходниот данок."); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft10(" Фактурирал Примил Одобрил"); creator.SetTitleLeft10(" _________________ __________________ ____________________"); creator.AddPage(); creator.SetTitleCenterForFactureNumber("Спецификација за фактура бр. " + f.FactureNumber); string[] headersSpecifications = { "Ред. бр.", "Број на полиса", "Почеток", "Истек", "Дата на издавање", "Премија" }; float[] widthPercentagesSpecifications = { 10, 20, 19, 19, 19, 13 }; TypeCode[] typeCodesSpecifications = { TypeCode.Int32, TypeCode.String, TypeCode.String, TypeCode.String, TypeCode.String, TypeCode.Decimal }; object[] valuesSpecifications; foreach (FactureItem fi in f.FactureItems) { creator.SetTitleLeft10Bold(fi.InsuranceSubType.Description); creator.CreateTable_Facture(headersSpecifications.Length, headersSpecifications, widthPercentagesSpecifications); if (f.DocumentSubType.Code == DocumentSubType.FAKTURA_PROVIZIJA) { List <PolicyItemFactureItem> pifiList = PolicyItemFactureItem.GetByFactureItemID(fi.ID); int ordinalNumber = 1; foreach (PolicyItemFactureItem pifi in pifiList) { valuesSpecifications = new object[6]; valuesSpecifications[0] = ordinalNumber; valuesSpecifications[1] = pifi.PolicyItem.PolicyNumber; valuesSpecifications[2] = pifi.PolicyItem.Policy.StartDate.ToShortDateString(); valuesSpecifications[3] = pifi.PolicyItem.Policy.EndDate.ToShortDateString(); valuesSpecifications[4] = pifi.PolicyItem.Policy.ApplicationDate.ToShortDateString(); valuesSpecifications[5] = pifi.PolicyItem.PremiumValue; creator.AddDataRowForFacturesExtend(valuesSpecifications, headersSpecifications.Length, typeCodesSpecifications, headersSpecifications, widthPercentagesSpecifications); ordinalNumber++; } } if (f.DocumentSubType.Code == DocumentSubType.IZLEZNA_FAKTURA_ZA_PROVZIJA_ZA_ZIVOTNO_OSUGURUVANjE) { List <LifePolicyFactureItem> pifiList = LifePolicyFactureItem.GetByFactureItemID(fi.ID); int ordinalNumber = 1; foreach (LifePolicyFactureItem pifi in pifiList) { valuesSpecifications = new object[6]; valuesSpecifications[0] = ordinalNumber; valuesSpecifications[1] = pifi.LifePolicy.PolicyNumber; valuesSpecifications[2] = pifi.LifePolicy.StartDate.ToShortDateString(); valuesSpecifications[3] = pifi.LifePolicy.EndDate.ToShortDateString(); valuesSpecifications[4] = pifi.LifePolicy.ApplicationDate.ToShortDateString(); valuesSpecifications[5] = pifi.LifePolicy.TotalPremumValue; creator.AddDataRowForFacturesExtend(valuesSpecifications, headersSpecifications.Length, typeCodesSpecifications, headersSpecifications, widthPercentagesSpecifications); ordinalNumber++; } } creator.AddTable(); creator.SetTitleCenterForFactureNumber(" "); } creator.FinishPDF_FileName("Factura" + f.FactureNumber); } if (f.DocumentSubType.Code == DocumentSubType.FAKTURA_KLIENT) { PDFCreators creator = new PDFCreators(true, 25, 25, 15, 15); creator.SetDocumentHeaderFooter(); creator.OpenPDF(); creator.GetContentByte(); creator.AddJDBLogoForFactures(10, 775); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" Жиро-сметка : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.ZIRO_SMETKA).Value); creator.SetTitleLeft8(" Депонент : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.DEPONENT).Value); creator.SetTitleLeft8(" ЕДБ : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.EDB).Value + " " + "Матичен број : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.MATICEN_BROJ).Value); creator.SetTitleLeft8(" "); if (f.Discard) { creator.SetTitleCenterForFactureNumber("СТОРНИРАНА Ф-ра бр. " + f.FactureNumber); } else { creator.SetTitleCenterForFactureNumber("Фактура бр. " + f.FactureNumber); } string internalCode = ""; try { FinansovoDataClassesDataContext fdc = new FinansovoDataClassesDataContext(); List <Client> listCLients = fdc.Clients.Where(c => c.EMBG == f.Client.EMBG).ToList(); if (listCLients.Count > 0) { internalCode = listCLients[0].Code; } } catch { } if (internalCode != string.Empty) { creator.SetTitleLeftWithFontSize10(internalCode); } creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Name).ToUpper()); creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Address).ToUpper()); creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Place.Municipality.Name).ToUpper()); creator.SetTitleLeft10("Датум на фактура: " + f.DateOfCreation.ToShortDateString()); creator.SetTitleLeft10("Рок на плаќање: " + f.DateOfPayment.ToShortDateString()); //creator.SetTitleLeft8("Период: " + f.FromDate.ToShortDateString() + " - " + f.ToDate.ToShortDateString()); string[] headers = { "Ред. бр.", "Број на полиса", "Осиг. комапнија", "Тип на осигурување", "Премија" }; float[] widthPercentages = { 8, 17, 30, 30, 15 }; TypeCode[] typeCodes = { TypeCode.Int32, TypeCode.String, TypeCode.String, TypeCode.String, TypeCode.Decimal }; creator.CreateTable_Facture(headers.Length, headers, widthPercentages); object[] values; foreach (FactureItem fi in f.FactureItems) { List <PolicyItemFactureItem> pifi = PolicyItemFactureItem.GetByFactureItemID(fi.ID); values = new object[headers.Length]; values[0] = fi.Number.ToString(); values[1] = pifi[0].PolicyItem.PolicyNumber; values[2] = pifi[0].PolicyItem.Policy.InsuranceCompany.ShortName; values[3] = pifi[0].PolicyItem.InsuranceSubType.ShortDescription; values[4] = String.Format("{0:#,0.00}", fi.PremiumValue) + " ДЕН."; creator.AddDataRowForFactures(values, headers.Length, typeCodes); } values = new object[headers.Length]; values[0] = ""; values[1] = ""; values[2] = ""; values[3] = "Вкупно"; values[4] = String.Format("{0:#,0.00}", f.TotalCost) + " ДЕН."; creator.AddDataRowForFactures(values, headers.Length, typeCodes); creator.AddTable(); creator.SetTitleLeftBold14(" "); creator.SetTitleLeftItalic10("Со букви: " + NumberToTextController.Konvertiranje(f.TotalCost)); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Ве молиме фактурираниот износ да го платите до назначениот рок на плаќање."); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Доколку износот за фактурата не биде платен до наведениот датум, се пресметува затезна камата од денот на стасаност до денот на плаќањето."); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Согласно со член 23, точка 6 од Законот за ДДВ дејноста осигурување е ослободена од плаќање данок без право на одбиток на претходниот данок."); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft10(" Фактурирал Примил Одобрил"); creator.SetTitleLeft10(" _________________ __________________ ____________________"); Broker.DataAccess.Parameter pSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT = Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.SE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT); bool fpSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT = true; if (pSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT != null) { if (Convert.ToBoolean(pSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT.Value) == false) { fpSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT = false; } } if (fpSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT) { string facItemDescriptionStart = "Полиса - "; creator.AddPage(); foreach (FactureItem fi in f.FactureItems) { string polNumber = fi.Description.Substring(facItemDescriptionStart.Length); creator.SetTitleLeft10(facItemDescriptionStart + polNumber); string[] headersRates = { "Рата бр.", "Дата за плаќање", "Износ" }; float[] widthPercentagesRates = { 15, 50, 35 }; TypeCode[] typeCodesRates = { TypeCode.Int32, TypeCode.String, TypeCode.Decimal }; creator.CreateTable_Facture(headersRates.Length, headersRates, widthPercentagesRates); PolicyItem pi = PolicyItem.GetByNumberAndInsuranceSubType(polNumber, fi.InsuranceSubTypeID, (int)fi.Facture.InsuranceCompanyID); List <Rate> rates = Rate.GetByPolicyItemID(pi.ID); rates = rates.OrderBy(c => c.Number).ToList(); foreach (Rate r in rates) { object[] valuesRates = new object[headersRates.Length]; valuesRates[0] = r.Number; valuesRates[1] = r.Date.ToShortDateString(); valuesRates[2] = String.Format("{0:#,0.00}", r.Value); creator.AddDataRowForFactures(valuesRates, headersRates.Length, typeCodes); } creator.AddTable(); } } creator.FinishPDF_FileName("Factura" + f.FactureNumber); } if (f.DocumentSubType.Code == DocumentSubType.GRUPNA_FAKTURA) { PDFCreators creator = new PDFCreators(true, 25, 25, 15, 15); creator.SetDocumentHeaderFooter(); creator.OpenPDF(); creator.GetContentByte(); creator.AddJDBLogoForFactures(10, 775); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" Жиро-сметка : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.ZIRO_SMETKA).Value); creator.SetTitleLeft8(" Депонент : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.DEPONENT).Value); creator.SetTitleLeft8(" ЕДБ : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.EDB).Value + " " + "Матичен број : " + Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.MATICEN_BROJ).Value); creator.SetTitleLeft8(" "); if (f.Discard) { creator.SetTitleCenterForFactureNumber("СТОРНИРАНА Фактура бр. " + f.FactureNumber); } else { creator.SetTitleCenterForFactureNumber("Фактура бр. " + f.FactureNumber); } string internalCode = ""; try { FinansovoDataClassesDataContext fdc = new FinansovoDataClassesDataContext(); List <Client> listCLients = fdc.Clients.Where(c => c.EMBG == f.Client.EMBG).ToList(); if (listCLients.Count > 0) { internalCode = listCLients[0].Code; } } catch { } if (internalCode != string.Empty) { creator.SetTitleLeftWithFontSize10(internalCode); } creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Name).ToUpper()); creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Address).ToUpper()); creator.SetTitleLeftWithFontSize10(ConvertToMacedonian.ConvertToMACEDONIAN(f.Client.Place.Municipality.Name).ToUpper()); creator.SetTitleLeft10("Датум на фактура: " + f.DateOfCreation.ToShortDateString()); creator.SetTitleLeft10("Рок на плаќање: " + f.DateOfPayment.ToShortDateString()); string[] headers = { "Ред. бр.", "Број на полиса", "Осиг. компанија", "Тип на осигурување", "Премија" }; float[] widthPercentages = { 8, 17, 30, 30, 15 }; TypeCode[] typeCodes = { TypeCode.Int32, TypeCode.String, TypeCode.String, TypeCode.String, TypeCode.Decimal }; creator.CreateTable_Facture(headers.Length, headers, widthPercentages); object[] values; foreach (FactureItem fi in f.FactureItems) { List <PolicyItemFactureItem> pifi = PolicyItemFactureItem.GetByFactureItemID(fi.ID); values = new object[headers.Length]; values[0] = fi.Number.ToString(); values[1] = pifi[0].PolicyItem.PolicyNumber; values[2] = pifi[0].PolicyItem.Policy.InsuranceCompany.ShortName; values[3] = pifi[0].PolicyItem.InsuranceSubType.ShortDescription; values[4] = String.Format("{0:#,0.00}", fi.PremiumValue) + " ДЕН."; creator.AddDataRowForFactures(values, headers.Length, typeCodes); } values = new object[headers.Length]; values[0] = ""; values[1] = ""; values[2] = ""; values[3] = "Вкупно"; values[4] = String.Format("{0:#,0.00}", f.TotalCost) + " ДЕН."; creator.AddDataRowForFactures(values, headers.Length, typeCodes); creator.AddTable(); creator.SetTitleLeftBold14(" "); creator.SetTitleLeftItalic10("Со букви: " + NumberToTextController.Konvertiranje(f.TotalCost)); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Ве молиме фактурираниот износ да го платите до назначениот рок на плаќање."); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Доколку износот за фактурата не биде платен до наведениот датум, се пресметува затезна камата од денот на стасаност до денот на плаќањето."); creator.SetTitleLeft8(" "); creator.SetTitleLeft10("Согласно со член 23, точка 6 од Законот за ДДВ дејноста осигурување е ослободена од плаќање данок без право на одбиток на претходниот данок."); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft8(" "); creator.SetTitleLeft10(" Фактурирал Примил Одобрил"); creator.SetTitleLeft10(" _________________ __________________ ____________________"); bool fpSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT = true; if (Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.SE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT) != null) { fpSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT = Boolean.Parse(Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.SE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT).Value); } if (fpSE_PECATI_SPECIFIKACIJA_NA_F_RA_ZA_KLIENT) { string facItemDescriptionStart = "Полиса бр. "; creator.AddPage(); foreach (FactureItem fi in f.FactureItems) { string polNumber = fi.Description.Substring(facItemDescriptionStart.Length); creator.SetTitleLeft10(facItemDescriptionStart + polNumber); string[] headersRates = { "Рата бр.", "Дата за плаќање", "Износ" }; float[] widthPercentagesRates = { 15, 50, 35 }; TypeCode[] typeCodesRates = { TypeCode.Int32, TypeCode.String, TypeCode.Decimal }; creator.CreateTable_Facture(headersRates.Length, headersRates, widthPercentagesRates); PolicyItem pi = PolicyItem.GetByNumberAndInsuranceSubType(polNumber, fi.InsuranceSubTypeID, (int)fi.Facture.InsuranceCompanyID); List <Rate> rates = Rate.GetByPolicyItemID(pi.ID); rates = rates.OrderBy(c => c.Number).ToList(); foreach (Rate r in rates) { object[] valuesRates = new object[headersRates.Length]; valuesRates[0] = r.Number; valuesRates[1] = r.Date.ToShortDateString(); valuesRates[2] = String.Format("{0:#,0.00}", r.Value); creator.AddDataRowForFactures(valuesRates, headersRates.Length, typeCodes); } creator.AddTable(); } } creator.FinishPDF_FileName("Factura" + f.FactureNumber); } }
public static string DeletePolicy(int piID) { DataClassesDataContext dc = new DataClassesDataContext(); string retString = "Полисата е избришана."; PolicyItem pi = PolicyItem.Get(piID); Distribution d = Distribution.GetByNumberAndSubTypeAndCompany(pi.InsuranceSubTypeID, pi.PolicyNumber, pi.Policy.InsuranceCompanyID); Policy p = Policy.Get(pi.PolicyID); List <RollBackDistributionItem> listRDI = RollBackDistributionItem.Table.Where(c => c.PolicyItemID == pi.ID).ToList(); if (listRDI.Count > 0) { retString = "Полисата е раздолжена и не може да се брише!"; return(retString); } List <Rate> lstRates = Rate.GetByPolicyItemID(pi.ID); if (lstRates.Count > 0) { List <Payment> lstPayments = Payment.GetByRateID(lstRates[0].ID); if (lstPayments.Count > 0) { if (lstPayments[0].IsFactured) { retString = "Полисата е фактурирана за брокеража и не може да се брише!"; return(retString); } } foreach (Rate r in lstRates) { List <Payment> lstP = Payment.GetByRateID(r.ID); foreach (Payment pay in lstP) { List <PaymentsPerInsSubType> lstPPIST = PaymentsPerInsSubType.GetByPayment(pay.ID); foreach (PaymentsPerInsSubType ppist in lstPPIST) { string queryppist = @"DELETE FROM PaymentsPerInsSubTypes WHERE ID = " + ppist.ID; dc.ExecuteCommand(queryppist); //ppist.Delete(); } string queryppay = @"DELETE FROM Payments WHERE ID = " + pay.ID; dc.ExecuteCommand(queryppay); //pay.Delete(); } string queryr = @"DELETE FROM Rates WHERE ID = " + r.ID; dc.ExecuteCommand(queryr); //r.Delete(); } string querypei = @"DELETE FROM PolicyExtendInformations WHERE PolicyItemID = " + pi.ID; dc.ExecuteCommand(querypei); Broker.DataAccess.Facture facture = PolicyItemFactureItem.GetByPolicyItemID(pi.ID); if (facture != null) { List <Broker.DataAccess.FactureItem> listFI = FactureItem.GetByFacture(facture.ID); foreach (FactureItem fi in listFI) { string querypifi = @"DELETE FROM PolicyItemFactureItems WHERE FactureItemID = " + fi.ID; dc.ExecuteCommand(querypifi); string queryfi = @"DELETE FROM FactureItems WHERE ID = " + fi.ID; dc.ExecuteCommand(queryfi); } string queryf = @"DELETE FROM Factures WHERE ID = " + facture.ID; dc.ExecuteCommand(queryf); } string querypi = @"DELETE FROM PolicyItems WHERE ID = " + pi.ID; dc.ExecuteCommand(querypi); //pi.Delete(); string queryp = @"DELETE FROM Policies WHERE ID = " + p.ID; dc.ExecuteCommand(queryp); //p.Delete(); string queryd = @"UPDATE Distributions SET IsUsed = 0 WHERE ID = " + d.ID; dc.ExecuteCommand(queryd); //d.IsUsed = false; //Distribution.Table.Context.SubmitChanges(); } return(retString); }