コード例 #1
0
        public static void PrintBrokerageSlip(BrokerageSlip bs)
        {
            PDFCreators creator = new PDFCreators(true, 15, 15, 15, 15);

            creator.OpenPDF();
            creator.GetContentByte();
            creator.AddJDBLogoForFactures(10, 775);
            creator.SetTitleLeft8(" ");
            creator.SetTitleLeft8(" ");
            creator.SetTitleLeft8(" ");
            creator.SetTitleLeft8(" ");
            creator.SetTitle("БРОКЕРСКИ СЛИП ЗА ОСИГУРУВАЊЕ");
            creator.SetTitle(bs.Number);
            string[]   headers          = { "", "" };
            float[]    widthPercentages = { 30, 70 };
            TypeCode[] typeCodes        = { TypeCode.String, TypeCode.String };
            creator.CreateTable_Facture(headers.Length, headers, widthPercentages);
            object[] values;
            values    = new object[headers.Length];
            values[0] = "ОСИГУРЕНИК";
            values[1] = bs.Insurer;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "ОСИГУРУВАЧ";
            values[1] = bs.InsuranceCompany.Name;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "ПЕРИОД НА ИЗДАДЕНИ ПОЛИСИ";
            values[1] = bs.FromDate.ToShortDateString() + " до " + bs.ToDate.ToShortDateString();
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "КЛАСИ НА ОСИГУРУВАЊЕ";
            int    ordinalNumber = 1;
            string nested        = "";

            foreach (BrokerageSlipInsuranceSubType bsist in bs.BrokerageSlipInsuranceSubTypes)
            {
                nested += (ordinalNumber + ". " + bsist.InsuranceSubType.ShortDescription + "\n");
                ordinalNumber++;
            }
            values[1] = nested;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "ОСИГУРЕНИ ОПАСНОСТИ";
            values[1] = bs.InsuranceRisks;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "ОСИГУРЕНИ СТВАРИ";
            values[1] = bs.InsuranceThings;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            int ordNumberPerInsSubType = 1;

            foreach (BrokerageSlipInsuranceSubType bsist in bs.BrokerageSlipInsuranceSubTypes)
            {
                object[] valINST = new object[2];
                valINST[0] = "ПОДКЛАСА НА ОСИГУРУВАЊЕ";
                valINST[1] = ordNumberPerInsSubType + ". " + bsist.InsuranceSubType.ShortDescription;
                creator.AddDataRowForBrokerageSlips(valINST, headers.Length, typeCodes);
                decimal totPrem = 0;
                List <BrokerageSlipPolicyItem> tmpList    = BrokerageSlipPolicyItem.GetByBrokerageSlip(bs.ID);
                List <BrokerageSlipPolicyItem> tmpListPer = tmpList.Where(c => c.PolicyItem.InsuranceSubTypeID == bsist.InsuranceSubTypeID).ToList();
                List <PolicyItem> lstPolItems             = tmpListPer.Select(c => c.PolicyItem).ToList();
                lstPolItems = lstPolItems.OrderBy(c => c.PolicyNumber).ToList();
                foreach (PolicyItem pi in lstPolItems)
                {
                    object[] valPol       = new object[2];
                    string   polPremValue = String.Format("{0:#,0.00}", pi.PremiumValue);
                    valPol[0] = "";
                    valPol[1] = pi.PolicyNumber + " - " + pi.Policy.Client.Name + " - " + polPremValue;
                    creator.AddDataRowForBrokerageSlips(valPol, headers.Length, typeCodes);
                    if (!pi.Policy.Discard)
                    {
                        totPrem += pi.PremiumValue;
                    }
                }
                object[] valTotPerIST = new object[2];
                valTotPerIST[0] = "";
                valTotPerIST[1] = "ВКУПНО ПРЕМИЈА: " + String.Format("{0:#,0.00}", totPrem) + " ДЕНАРИ";
                creator.AddDataRowForBrokerageSlips(valTotPerIST, headers.Length, typeCodes);
                ordNumberPerInsSubType++;
            }
            //values = new object[headers.Length];
            //values[0] = "ПРЕМИЈА";
            //values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "ОСНОВ ЗА ОБЕШТЕТУВАЊЕ";
            values[1] = bs.BasisForCompensation;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "БРОКЕРАЖА";
            int    ordNumber = 1;
            string nestedB   = "";

            foreach (BrokerageSlipInsuranceSubType bsist in bs.BrokerageSlipInsuranceSubTypes)
            {
                nestedB += (ordNumber + ". " + bsist.InsuranceSubType.ShortDescription + " " + bsist.BrokeragePercentagePrivates + "% ЗА ФИЗИЧКИ ЛИЦА, " + bsist.BrokeragePercentageLaws + "% ЗА ПРАВНИ ЛИЦА ОД БРУТО ПРЕМИЈА" + "\n");
                ordNumber++;
            }
            values[1] = nestedB;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "ДРУГИ УСЛОВИ";
            values[1] = bs.OtherConditions;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "БРОКЕР";
            values[1] = BrokerHouseInformation.GetBrokerHouseNameByCode(BrokerHouseInformation.FIRST_ROW);
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = Broker.DataAccess.Parameter.GetByCode(Broker.DataAccess.Parameter.MESTO).Value;
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = bs.Date.ToShortDateString();
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            values    = new object[headers.Length];
            values[0] = "";
            values[1] = "";
            creator.AddDataRowForBrokerageSlips(values, headers.Length, typeCodes);
            creator.AddTable();
            creator.SetTitle(" ");
            creator.SetTitle(" ");
            string brokerName = BrokerHouseInformation.GetBrokerHouseName();

            creator.SetTitleLeft8("         " + brokerName + "                                                                                                                           " + bs.InsuranceCompany.Name);
            creator.SetTitleLeft8(" ");
            creator.SetTitleLeft8("_________________________                                                                                                           ____________________");
            creator.FinishPDF_FileName("BrokerskiSlip" + bs.ID);
        }
コード例 #2
0
ファイル: BrokerageSlips.aspx.cs プロジェクト: yonass/ASUC2
    protected void btnCreate_Click(object sender, EventArgs e)
    {
        DateTime fromDate           = DateTime.Parse(tbFromDate.Text);
        DateTime toDate             = DateTime.Parse(tbToDate.Text);
        int      insuranceCompanyID = Convert.ToInt32(ddlInsuranceCompanies.SelectedValue);
        List <PolicyForSlipsInfo> lastPolicyForSlipsInfos = listPolicyForSlipsInfos;
        GridViewRowCollection     displayedRows           = gvNewPolicies.Rows;

        foreach (GridViewRow gvRow in displayedRows)
        {
            CheckBox           cbIsForFacturing = gvRow.FindControl("cbIsForFacturing") as CheckBox;
            int                factureInfoID    = Convert.ToInt32(gvNewPolicies.DataKeys[gvRow.RowIndex].Value);
            PolicyForSlipsInfo pfsi             = lastPolicyForSlipsInfos.Where(f => f.ID == factureInfoID).SingleOrDefault();
            pfsi.IsForFacturing = cbIsForFacturing.Checked;
        }
        listPolicyForSlipsInfos = lastPolicyForSlipsInfos;
        List <PolicyForSlipsInfo> listFactureInfo = listPolicyForSlipsInfos.Where(c => c.IsForFacturing == true).ToList();

        if (listFactureInfo.Count > 0)
        {
            BrokerageSlip bs = new BrokerageSlip();
            bs.BasisForCompensation = tbBasisForCompensation.Text;
            bs.Date               = DateTime.Today;
            bs.Description        = tbDescription.Text;
            bs.FromDate           = fromDate;
            bs.InsuranceCompanyID = insuranceCompanyID;
            bs.InsuranceRisks     = tbInsuranceRisks.Text;
            bs.InsuranceThings    = tbInsuranceThings.Text;
            if (listFactureInfo.Count == 1)
            {
                PolicyItem tmpPol = PolicyItem.Get(listFactureInfo[0].ID);
                if (tmpPol != null)
                {
                    bs.Insurer = tmpPol.Policy.Client1.Name;
                }
                else
                {
                    bs.Insurer = "ПО ПРИЛОГ ПОЛИСИ";
                }
            }
            else
            {
                bs.Insurer = "ПО ПРИЛОГ ПОЛИСИ";
            }
            bs.Number          = BrokerageSlip.GetNextNumber(insuranceCompanyID);
            bs.OtherConditions = tbOtherConditions.Text;
            bs.ToDate          = toDate;
            bs.Insert();
            Dictionary <int, List <decimal> > dic = new Dictionary <int, List <decimal> >();
            foreach (PolicyForSlipsInfo pfsi in listFactureInfo)
            {
                if (!dic.Keys.Contains(pfsi.InsuranceSubTypeID))
                {
                    List <decimal> brokPercentages = new List <decimal>();
                    if (pfsi.BrokerageID != null)
                    {
                        Brokerage brokerage = Brokerage.Get(pfsi.BrokerageID);
                        brokPercentages.Add(brokerage.PercentageForPrivates);
                        brokPercentages.Add(brokerage.PercentageForLaws);
                    }
                    else if (pfsi.PacketBrokerageID != null)
                    {
                        PacketsInsuranceSubType pist = PacketsInsuranceSubType.Get(pfsi.PacketBrokerageID);
                        brokPercentages.Add(pist.BrokeragePecentageForPrivates);
                        brokPercentages.Add(pist.BrokeragePecentageForLaws);
                    }
                    dic.Add(pfsi.InsuranceSubTypeID, brokPercentages);
                }
                BrokerageSlipPolicyItem bspi = new BrokerageSlipPolicyItem();
                bspi.BrokerageSlipID = bs.ID;
                bspi.PolicyItemID    = pfsi.ID;
                bspi.Insert();
                PolicyItem pItem = PolicyItem.Get(pfsi.ID);
                pItem.IsBrokerageSliped = true;
                PolicyItem.Table.Context.SubmitChanges();
            }
            foreach (KeyValuePair <int, List <decimal> > kvPair in dic)
            {
                BrokerageSlipInsuranceSubType bsist = new BrokerageSlipInsuranceSubType();
                bsist.BrokerageSlipID             = bs.ID;
                bsist.BrokeragePercentagePrivates = kvPair.Value[0];
                bsist.BrokeragePercentageLaws     = kvPair.Value[1];
                bsist.InsuranceSubTypeID          = kvPair.Key;
                bsist.Insert();
            }

            btnPrBrokSlip.Enabled        = true;
            ViewState["BrokerageSlipID"] = bs.ID;
            GXGridView1SelectedValue     = bs.ID;
        }
    }