private static void BuildOrientationTable(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_088"), languageDataPP.GetContent("PdfReportPP_089"), languageDataPP.GetContent("PdfReportPP_090") };
            List<float> colsWidth = new List<float>() { 60, 280, 160 };
            ReportOptionAttributeValue dataPrior = new ReportOptionAttributeValue();
            List<int> lstIdOption = new List<int>() { 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243 };
            string autre1 = "", autre2 = "";
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            int nbLignes = 14;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                dataPrior = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == lstIdOption[i]).FirstOrDefault();
                if (dataPrior != null)
                {
                    if (lstIdOption[i] == 242)
                    {
                        autre1 = Convert.ToString(dataPrior.CustomObjectValue.Object);
                    }

                    if (lstIdOption[i] == 243)
                    {
                        autre2 = Convert.ToString(dataPrior.CustomObjectValue.Object);
                    }

                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        if (j == 2)
                            data[i].Add("");
                        else
                        {
                            if (dataPrior != null)
                            {
                                switch (j)
                                {
                                    case 1:
                                        data[i].Add(GetEnumValue(Convert.ToString(dataPrior.CustomObjectValue.Priority), 5));
                                        break;
                                    case 3:
                                        data[i].Add(GetEnumValue(Convert.ToString(dataPrior.CustomObjectValue.YearImmediate), 6));
                                        break;
                                }
                            }
                            else
                            {
                                data[i].Add("");
                            }
                        }
                    }
                }
                else
                {
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        data[i].Add("");
                    }
                }
            }
            data[0][1] = languageDataPP.GetContent("PdfReportPP_091");
            data[1][1] = languageDataPP.GetContent("PdfReportPP_092");
            data[2][1] = languageDataPP.GetContent("PdfReportPP_093");
            data[3][1] = languageDataPP.GetContent("PdfReportPP_094");
            data[4][1] = languageDataPP.GetContent("PdfReportPP_095");
            data[5][1] = languageDataPP.GetContent("PdfReportPP_096");
            data[6][1] = languageDataPP.GetContent("PdfReportPP_097");
            data[7][1] = languageDataPP.GetContent("PdfReportPP_098");
            data[8][1] = languageDataPP.GetContent("PdfReportPP_099");
            data[9][1] = languageDataPP.GetContent("PdfReportPP_100");
            data[10][1] = languageDataPP.GetContent("PdfReportPP_101");
            data[11][1] = languageDataPP.GetContent("PdfReportPP_102");
            data[12][1] = languageDataPP.GetContent("PdfReportPP_103") + " " + autre1;
            data[13][1] = languageDataPP.GetContent("PdfReportPP_104") + " " + autre2;


            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 3) * 20, x);
        }
        public static int GeneratePMReport(Guid idReport, string pathFilename, bool forceDownload, bool pIsEmptyReport = false)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            FirmInstitution firmInstitution = new FirmInstitution();
            Data.Model.Report report = new Data.Model.Report();
            Data.Model.CustomerProspect customerProspect = new Data.Model.CustomerProspect();
            // int tabCheck = 15;
            //  int tabYesNo = 20;

            Data.Model.Report tempReport = ReportBL.GetReportWithValues(idReport);
            Data.Model.CustomerProspect tempCustomerProspect = CustomerProspectBL.GetCustomerProspectById(tempReport.idCustomerProspect);
            FirmInstitution tempFirmInstitution = Upsilab.Business.Configuration.FirmInstitutionBL.GetFirmInstitutionByIdFirmInstitution(tempCustomerProspect.idFirmInstitution);

            if (!pIsEmptyReport)
            {
                report = tempReport;
                customerProspect = tempCustomerProspect;
                firmInstitution = tempFirmInstitution;
            }



            report.IsEmptyReport = pIsEmptyReport;
            bool isEmptyReport = pIsEmptyReport;

            var languageData = PageLanguageHelper.GetLanguageContent("User", "PDF_PM_Report");

            double somme = 0, d;

            //Title and footer document
            string documentTitle = "Recueil d'informations";
            string footerContent = tempFirmInstitution.DocumentFooterContent; //temp is ok for empty or not empty doc

            //  FoxitPDFGenerator pdfGen = new FoxitPDFGenerator(documentTitle, footerContent);
            //FoxitPDFGenerator pdfGen = new FoxitPDFGenerator(documentTitle)

            string name = string.Empty;
            string date = string.Empty;
            if (!pIsEmptyReport)
            {
                name = customerProspect.CompanyName;
                date = DateTime.Now.ToShortDateString();
            }
            if (forceDownload)
                date = string.Empty;

            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator(documentTitle, footerContent, name, string.Format("{0} {1}", string.IsNullOrEmpty(date) ? string.Empty : languageDataPP.GetContent("PdfReportPP_004"), date));


            #region Page 1 : Title & Logo

            pdfGen.AddBackgroungImage();
            //Logo
            string logoPathFileName = FileManager.BuildLogoPath(tempFirmInstitution.idFirmInstitution) + tempFirmInstitution.Logo;
            pdfGen.AddLogoOnFirstPage(logoPathFileName, tempFirmInstitution.LogoAlign);


            ////Title
            //float y = 240;
            //pdfGen.AddReceuil_Title_Center_CalibriBold_Label(languageData.GetContent("Report_Title"), y, 500, 20);
            //pdfGen.AddReceuil_Title_Center_CalibriBold_Label(languageData.GetContent("Report_Title2"), y += paddingAfterParagraph, 500, 20);
            //pdfGen.AddReceuil_SubTitle_Center_CalibriBold_Label(languageData.GetContent("Report_Subtitle"), y += (2 * interline), 500, 11);

            float y = 360;
            pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title"), y, 240, 60, 260, 20);//Questionnaire relatif au recueil d’informations
            pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title2"), y += (2 * interline + 15), 200, 20, 300, 20);//clients/prospects
            pdfGen.AddWhiteTitle(languageData.GetContent("Report_Subtitle"), y += (2 * interline + 15), max_width, 20, 0, 12);

            pdfGen.AddWhiteBorder(y += interline * 1.7f, 195, 305, 70);

            if (isEmptyReport)
            {
                //string[] rowContents = { languageData.GetContent("Report_Date"), languageData.GetContent("Report_Reference"), string.Empty };
                //pdfGen.AddTableTitle(rowContents, 110, y += (2 * interline));
            }
            else
            {
                //string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Date"), DateTime.Now.ToShortDateString())
                //                     , string.Format("{0}-{1}", languageData.GetContent("Report_Reference"), idReport)
                //                     , string.Format("{0}", customerProspect.CompanyName)
                //                   };
                //pdfGen.AddTableTitle(rowContents, 110, y += (2 * interline));
                if (!forceDownload)
                    pdfGen.AddWhiteTitleLeft(DateTime.Now.ToShortDateString(), y += 10, max_width, 11, 220, 10);
                pdfGen.AddWhiteTitleLeft(name, y += (interline), max_width, 11, 220, 10);
                pdfGen.AddWhiteTitleLeft(string.Format("{0}-{1}", languageDataPP.GetContent("PdfReportPP_005"), idReport), y += (interline), max_width, 11, 220, 10);

            }

            //pdfGen.AddBlueBorder(480, 108, 308, 30);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(string.Format("{0}", customerProspect.CompanyName), 490, 300, 20, 120);
            #endregion

            #region Page 2 : IDENTIFICATION DE L’ÉTABLISSEMENT
            pdfGen.CreatePage();
            y = 0;

            pdfGen.AddTitle(languageData.GetContent("Page1_Section1_Title"), y, 500, 20);
            /*pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page1_Section1_Paragraph1_Line1"), 20, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page1_Section1_Paragraph1_Line2"), 30, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page1_Section1_Paragraph1_Line3"), 40, 500, 20);
            */
            string stextLine1 = languageData.GetContent("Page1_Section1_Paragraph1_Line4");
            pdfGen.AddJustifyText(stextLine1, y += interline + 5, 500, 60);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page1_Section1_Paragraph2_Line1"), 60, 500, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page1_Section1_Paragraph2_Line2"), 70, 500, 20);

            string stextLine2 = languageData.GetContent("Page1_Section1_Paragraph2_Line3");
            pdfGen.AddJustifyText(stextLine2, y += interline * 2.8f, 500, 40, 0);

            pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_NameOfEstablishement"), y += interline * 2f, label_width, height);
            pdfGen.AddAnswer(firmInstitution.FirmInstitutionName, y, answer_width, height, answer_x);


            if (SessionManager.GetHostCodeSession() == PageLanguageHelper.HostCode.FR.ToString())
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_Name"), y += interline, label_width, height);
                pdfGen.AddAnswer(firmInstitution.LeaderName, y, answer_width, height, answer_x);

                pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_FirstName"), y += interline, label_width, height);
                pdfGen.AddAnswer(firmInstitution.LeaderFirstName, y, answer_width, height, answer_x);

                pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_RCS"), y += interline, label_width, height);
                pdfGen.AddAnswer(firmInstitution.RCS, y, answer_width, height, answer_x);
                //y = 165;
            }
            else
            {
                //Numéro d'entreprise : 
                pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_RCS"), y += interline, label_width, height);
                pdfGen.AddAnswer(firmInstitution.RegisteredInRegister, y, answer_width, height, answer_x);

                //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format("{0} {1}", languageData.GetContent("Page1_Section1_769"), firmInstitution.RCS), 165, 600, 20, 300);//Numéro FSMA :
                var optionValue = Business.Configuration.FirmInstitutionOptionBL.GetFirmInstitutionOptionAttributeValueByFirmAndIdOptionAttribute(firmInstitution.idFirmInstitution, 1);
                var optFSMA = string.Empty;
                if (optionValue != null)
                    optFSMA = Convert.ToString(optionValue.Value);
                // pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format("{0} {1}", languageData.GetContent("Page1_Section1_769"), optFSMA), 165, 600, 20, 300);//Numéro FSMA :
                pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_769"), y += interline, label_width, height);
                pdfGen.AddAnswer(optFSMA, y, answer_width, height, answer_x);
                // y = 180;
            }
            //  pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page1_Section1_RCS"), firmInstitution.RCS), 165, 500, 20, 0, 10);
            // pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} {1}", languageData.GetContent("Page1_Section1_769"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 769))), 165, 600, 20, 300);
            // pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page1_Section1_StreetAddress"), firmInstitution.FirmStreet), 180, 500, 20, 0, 10);
            pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_StreetAddress"), y += interline, label_width, height);
            pdfGen.AddAnswer(firmInstitution.FirmStreet, y, answer_width, height, answer_x);

            // pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page1_Section1_PostalCode"), firmInstitution.FirmPostCode), 195, 500, 20, 0, 10);
            pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_PostalCode"), y += interline, label_width, height);
            pdfGen.AddAnswer(firmInstitution.FirmPostCode, y, answer_width, height, answer_x);

            //   pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page1_Section1_City"), firmInstitution.FirmCity), 210, 500, 20, 0, 10);
            pdfGen.AddDefaultText(languageData.GetContent("Page1_Section1_City"), y += interline, label_width, height);
            pdfGen.AddAnswer(firmInstitution.FirmCity, y, answer_width, height, answer_x);

            // y = 225;
            #region Conseiller signataire
            string signataireName = string.Empty;
            string signataireFirstName = string.Empty;

            if (!isEmptyReport)
            {
                Data.Model.User userAdviser = (report.User != null) ? report.User : customerProspect.User1;

                if (!string.IsNullOrEmpty(userAdviser.UserFirstName))
                {
                    signataireFirstName = userAdviser.UserFirstName;
                }

                if (!string.IsNullOrEmpty(userAdviser.UserName))
                {
                    signataireName = userAdviser.UserName;
                }
            }

            // pdfGen.AddJustifyText(String.Format(languageDataPP.GetContent("PdfReportPP_753"), signataireFirstName, signataireName), y, max_width, height);
            pdfGen.AddDefaultText(String.Format(languageDataPP.GetContent("PdfReportPP_753"), string.Empty, string.Empty), y += interline, label_width, height);
            if (SessionManager.GetHostCodeSession() == PageLanguageHelper.HostCode.FR.ToString())
                pdfGen.AddAnswer(String.Format("{0} {1} {2}", signataireFirstName, signataireName, " (signataire)"), y, answer_width, height, answer_x);
            else
                pdfGen.AddAnswer(String.Format("{0} {1}", signataireFirstName, signataireName), y, answer_width, height, answer_x);

            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format(languageDataPP.GetContent("PdfReportPP_754"), signataireFirstName), y += 10, max_width, height);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(String.Format(languageDataPP.GetContent("PdfReportPP_755"), signataireName), y += 10, max_width, height);            
            #endregion

            pdfGen.AddOrangeTitle(languageData.GetContent("Page1_Section2_Title"), y += interline * 1.5f, 500, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page1_Section2_Paragraph1_Line1"), y += interline, 500, 20, 0);
            pdfGen.AddJustifyText(languageData.GetContent("Report_Symbol_Dash"), y += interline, 500 - 20, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page1_Section2_Paragraph1_Line2"), 245, 500 - 35, 20, 35,10);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page1_Section2_Paragraph1_Line3"), 230, 500 - 35, 20, 35,10);
            //string sText212 = string.Format(@"{0} {1}", languageData.GetContent("Page1_Section2_Paragraph1_Line2"), languageData.GetContent("Page1_Section2_Paragraph1_Line3"));
            string sText212 = languageData.GetContent("Page1_Section2_Paragraph1_Line8");
            pdfGen.AddJustifyText(sText212, y, 500 - 35, 40, 35);

            pdfGen.AddJustifyText(languageData.GetContent("Report_Symbol_Dash"), y += interline * 2, 500 - 20, 20, 20);
            //pdfGen.AddJustifyText(languageData.GetContent("Page1_Section2_Paragraph1_Line4"), 240, 500 - 35, 20, 35,10);
            //pdfGen.AddJustifyText(languageData.GetContent("Page1_Section2_Paragraph1_Line5"), 250, 500 - 35, 20, 35,10);
            //string sText214 = string.Format(@"{0} {1}", languageData.GetContent("Page1_Section2_Paragraph1_Line4"), languageData.GetContent("Page1_Section2_Paragraph1_Line5"));
            string sText214 = languageData.GetContent("Page1_Section2_Paragraph1_Line9");
            pdfGen.AddJustifyText(sText214, y, 500 - 35, 40, 35);
            pdfGen.AddJustifyText(languageData.GetContent("Report_Symbol_Dash"), y += interline * 2, 500 - 20, 20, 20);
            //pdfGen.AddJustifyText(languageData.GetContent("Page1_Section2_Paragraph1_Line6"), 260, 500 - 35, 20, 35,10);
            //pdfGen.AddJustifyText(languageData.GetContent("Page1_Section2_Paragraph1_Line7"), 270, 500 - 35, 20, 35,10);
            // string sText216 = string.Format(@"{0} {1}", languageData.GetContent("Page1_Section2_Paragraph1_Line6"), languageData.GetContent("Page1_Section2_Paragraph1_Line7"));
            string sText216 = languageData.GetContent("Page1_Section2_Paragraph1_Line10");
            pdfGen.AddJustifyText(sText216, y, 500 - 35, 40, 35);

            /*pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph2_Line1"), 290, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph2_Line2"), 300, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph2_Line3"), 310, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph2_Line4"), 320, 500, 20);
            */

            pdfGen.AddBlueBorder(y += 30, 0, max_width, 190);
            //string stext221 = string.Format(@"{0} {1} {2} {3}", languageData.GetContent("Page1_Section2_Paragraph2_Line1"), languageData.GetContent("Page1_Section2_Paragraph2_Line2"), languageData.GetContent("Page1_Section2_Paragraph2_Line3"), languageData.GetContent("Page1_Section2_Paragraph2_Line4"));
            string stext221 = languageData.GetContent("Page1_Section2_Paragraph2_Line5");
            pdfGen.AddJustifyText(stext221, y += 5, max_width - 20, 80, 10);

            /*pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph3_Line1"), 340, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph3_Line2"), 350, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph3_Line3"), 360, 500, 20);
            */
            string stext231 = string.Empty;
            float nextYPlus = 0;
            if (SessionManager.GetHostCodeSession() == PageLanguageHelper.HostCode.FR.ToString())
            {
                //stext231 = string.Format(@"{0} {1} {2}", languageData.GetContent("Page1_Section2_Paragraph3_Line1"), languageData.GetContent("Page1_Section2_Paragraph3_Line2"), languageData.GetContent("Page1_Section2_Paragraph3_Line3"));
                stext231 = languageData.GetContent("Page1_Section2_Paragraph3_Line4");
                pdfGen.AddJustifyText(stext231, y += interline * 3, max_width - 20, 60, 10);
                nextYPlus = interline * 2.8f;
            }
            else
            {
                stext231 = languageData.GetContent("Page1_Section2_Paragraph3_Line1");
                pdfGen.AddJustifyText(stext231, y += interline * 3, max_width - 20, 20, 10);
                nextYPlus = interline * 1.5f;
            }


            /*pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph4_Line1"), 380, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph4_Line2"), 390, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph4_Line3"), 400, 500, 20);
            */
            //string stext241 = string.Format(@"{0} {1} {2}", languageData.GetContent("Page1_Section2_Paragraph4_Line1"), languageData.GetContent("Page1_Section2_Paragraph4_Line2"), languageData.GetContent("Page1_Section2_Paragraph4_Line3"));
            string stext241 = languageData.GetContent("Page1_Section2_Paragraph4_Line4");
            pdfGen.AddJustifyText(stext241, y += nextYPlus, max_width - 20, 60, 10);

            /*pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph5_Line1"), 420, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph5_Line2"), 430, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph5_Line3"), 440, 500, 20);
            pdfGen.AddReceuil_DetailText_Justify_CalibriItalic_Label(languageData.GetContent("Page1_Section2_Paragraph5_Line4"), 450, 500, 20);
            */
            //string stext251 = string.Format(@"{0} {1} {2} {3}", languageData.GetContent("Page1_Section2_Paragraph5_Line1"), languageData.GetContent("Page1_Section2_Paragraph5_Line2"), languageData.GetContent("Page1_Section2_Paragraph5_Line3"), languageData.GetContent("Page1_Section2_Paragraph5_Line4"));
            string stext251 = languageData.GetContent("Page1_Section2_Paragraph5_Line5");
            pdfGen.AddJustifyText(stext251, y += interline * 2.8f, max_width - 20, 80, 10);
            #endregion

            #region Page 3 : IDENTIFICATION DU TITULAIRE :I- Identité de la personne morale
            pdfGen.CreatePage();
            y = 0;

            pdfGen.AddTitle(languageData.GetContent("Page2_Section1_Title"), y, 500, 20);

            if (isEmptyReport)
                ReportBL.PlotBooleanValue(pdfGen, string.Empty, y += interline + textInterline, 30, Boolean.FalseString);
            else
                ReportBL.PlotBooleanValue(pdfGen, customerProspect.IsCorporation.Value, y += interline + textInterline, 30, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section1_Line1"), y, 500, 20, 50);

            if (isEmptyReport)
                ReportBL.PlotBooleanValue(pdfGen, string.Empty, y += interline, 30, Boolean.TrueString);
            else
                ReportBL.PlotBooleanValue(pdfGen, customerProspect.IsCorporation.Value, y += interline, 30, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section1_Line2"), y, 500, 20, 50);

            //Present physiquement ?
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section1_Line3"), y += interline + textInterline, 500, 20);

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 502), y += interline, 40);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes"), y, 500, 20, 40 + tabCheck);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 503), y, 80);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No"), y, 500, 20, 80 + tabCheck);

            //I. Identité de la personne morale
            pdfGen.AddSubtitle(languageData.GetContent("Page2_Section2_Title"), y += interline + textInterline, 500, 20);

            //Raison sociale
            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line1"), customerProspect.CompanyName), y += interline + textInterline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line1"), string.Empty), y += interline + textInterline, label_width, height);
            pdfGen.AddAnswer(customerProspect.CompanyName, y, answer_width, height, answer_x);
            //Sigle
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line2"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 382))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line2"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 382)), y, answer_width, height, answer_x);
            //RCS
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line3"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 383))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line3"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 383)), y, answer_width, height, answer_x);

            // Ne pas afficher pour BE
            if (SessionManager.GetHostCodeSession() != PageLanguageHelper.HostCode.BE.ToString())
            {
                //Ville
                //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line4"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 384))), y += interline, 500, 20);
                pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line4"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 384)), y, answer_width, height, answer_x);

                //Siren
                //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line5"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 385))), y += interline, 500, 20);
                pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line5"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 385)), y, answer_width, height, answer_x);

                //Date immatric
                //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line6"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 386))), y += interline, 500, 20);
                pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section2_Line6"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 386)), y, answer_width, height, answer_x);
            }

            //Adresse
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(languageData.GetContent("Page2_Section5_Line7"), y += interline, 500, 20);
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 390)), y += interline, 480, 60, 10);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section5_Line7"), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 390)), y, answer_width, height * 3, answer_x);


            //CP
            //  pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_cp"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 743))), y += (interline * 3), 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_cp"), string.Empty), y += interline * 2.5f, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 743)), y, answer_width, height, answer_x);

            //Ville
            // pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_ville"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 744))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_ville"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 744)), y, answer_width, height, answer_x);

            //Tel
            // pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_Line8"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 391))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_Line8"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 391)), y, answer_width, height, answer_x);

            //Fax
            // pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_fax"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 745))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_fax"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 745)), y, answer_width, height, answer_x);

            //Mail
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_Line9"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 392))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_Line9"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 392)), y, answer_width, height, answer_x);


            #region Domiciliation
            //France / Hors France
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 556), y += interline + 2);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section5_Line1_Item1"), y, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 557), y, 140);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section5_Line1_Item2"), y, 500, 20, 160);

            //Pays de domiciliation
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section5_Line2"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 389))), y += interline, 500, 20);
            pdfGen.AddBlueBorder(y += 25, 70, 410, 85);
            //Gafi
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(languageData.GetContent("Page2_Section5_Line3"), y += interline, 500, 20, 100);
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(languageData.GetContent("Page2_Section5_Line4"), y += interline, 500, 20, 100);
            //string sText253 = string.Format(@"{0} {1}", languageData.GetContent("Page2_Section5_Line3"), languageData.GetContent("Page2_Section5_Line4"));
            string sText253 = languageData.GetContent("Page2_Section5_Line3_1");
            pdfGen.AddJustifyText(sText253, y += 5, 380, 40, 90);

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 559), y += interline * 1.7f, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 115);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 560), y, 140);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 155);

            //Offshore
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(languageData.GetContent("Page2_Section5_Line5"), y += interline + textInterline, 500, 20, 100);
            //pdfGen.AddReceuil_DefaultText_Justify_Calibri_Label(languageData.GetContent("Page2_Section5_Line6"), y += interline, 500, 20, 100);

            //string sText255 = string.Format(@"{0} {1}", languageData.GetContent("Page2_Section5_Line5"), languageData.GetContent("Page2_Section5_Line6"));
            string sText255 = languageData.GetContent("Page2_Section5_Line5_1");
            pdfGen.AddJustifyText(sText255, y += interline, 380, 40, 90);

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 562), y += interline * 1.7f, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 115);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 563), y, 140);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 155);
            #endregion

            #region Forme juridique
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line1"), y += interline + textInterline, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 542), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line2"), y, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 543), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line3"), y, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 544), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line4"), y, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 545), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line5"), y, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 546), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line6"), y, 500, 20, 20);
            if (Upsilab.Business.Utility.ConfigurationManager.ExtranetHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.FR.ToString())
            {
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 547), y, 320);
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line6_Item1"), y, 500, 20, 340);
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 548), y, 360);
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line6_Item2"), y, 500, 20, 380);
            }

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 549), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line7"), y, 500, 20, 20);

            if (Upsilab.Business.Utility.ConfigurationManager.ExtranetHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.FR.ToString())
            {
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 550), y, 320);
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line7_Item1"), y, 500, 20, 340);
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 551), y, 360);
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line7_Item2"), y, 500, 20, 380);
            }

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 552), y += interline);
            pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("Page2_Section3_Line8"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 387))), y, 500, 20, 20);
            //pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("Page2_Section3_Line8"), customerProspect.LegalForm_Autre), 355, 500, 20, 20);

            if (Upsilab.Business.Utility.ConfigurationManager.ExtranetHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.FR.ToString())
            {
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 553), y, 320);
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line8_Item1"), y, 500, 20, 340);
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 554), y, 360);
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line8_Item2"), y, 500, 20, 380);
            }

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 555), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line9"), y, 500, 20, 20);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, "LABPM_Client_0100")), y, 500, 20, 190); // A maintenir !!

            if (Upsilab.Business.Utility.ConfigurationManager.ExtranetHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section3_Line10"), y += interline, 500, 20, 20);
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 1258), y);
            }

            #endregion

            #region Societe cotee
            pdfGen.CreatePage();
            y = 0;

            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section4_Line1"), y, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 565), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 566), y, 40);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 55);

            //Sur quel marché
            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page2_Section4_Line2"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 393))), y += interline + textInterline, 500, 20);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section4_Line3"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 394))), y += interline, 500, 20);
            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section4_Line4"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 395))), y += interline, 500, 20);
            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page2_Section4_Line5"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 396))), y += interline, 500, 20);
            #endregion

            #endregion

            #region II.     Secteur d’activité
            pdfGen.AddSubtitle(languageData.GetContent("Page3_Section1_Title"), y += (2 * paddingAfterParagraph), 500, 20);

            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 397)), y += (2 * interline), 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section1_Line1"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 398))), y += interline, 500, 20);

            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line2"), y += paddingAfterParagraph, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 570), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 571), y, 40);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 55);

            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line3"), y += paddingAfterParagraph, 500, 20);
            pdfGen.AddBlueBorder(y + interline);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 388)), y += paddingAfterParagraph, 480, 65, 10);

            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line4"), y += 75, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 573), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 574), y, 40);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 55);
            #endregion

            #region III.     Dirigeant/ mandataire social / représentant
            //Civilité
            pdfGen.AddSubtitle(languageData.GetContent("Page3_Section2_Title"), y += (2 * paddingAfterParagraph), 500, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line1"), y += (2 * interline), 500, 20);

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 577), y, 40);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line1_Item1"), y, 500, 20, 55);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 578), y, 110);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line1_Item2"), y, 500, 20, 125);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 1231), y, 180);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line1_Item3"), y, 500, 20, 195);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line2"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 399))), y += paddingAfterParagraph, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line2"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 399)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line3"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 400))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line3"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 400)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_telPortable"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 401))), y += interline, 500, 20);//tel 
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_telPortable"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 401)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_telPro"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 402))), y += interline, 500, 20);//tel
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_telPro"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 402)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_fax"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 746))), y += interline, 500, 20);//fax
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_fax"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 746)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_email"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 747))), y += interline, 500, 20);//email
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_email"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 747)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(languageData.GetContent("PDFPM_adresse"), y += interline, 500, 20);//adresse
            // pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 748)), y, 400, 60, 50);//adresse
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_adresse"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 748)), y, answer_width, height * 3, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_cp"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 749))), y += (2.8f * interline), 500, 20);//cp
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_cp"), string.Empty), y += interline * 2.8f, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 749)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_ville"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 750))), y += interline, 500, 20);//ville
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("PDFPM_ville"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 750)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line4"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 403))), y, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line4"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 403)), y, answer_width, height, answer_x);
            if (SessionManager.GetHostCodeSession() == PageLanguageHelper.HostCode.BE.ToString())
            {
                //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line4_767"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 767))), y, 500, 20, 150);
                pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line4_767"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 767)), y, answer_width, height, answer_x);

                //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line4_768"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 768))), y, 500, 20, 300);
                pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line4_768"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 768)), y, answer_width, height, answer_x);
            }
            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line5"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 404))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line5"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 404)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line6"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 405))), y, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section2_Line6"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 405)), y, answer_width, height, answer_x);

            if (SessionManager.GetHostCodeSession() == PageLanguageHelper.HostCode.BE.ToString())
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line7_Item1_1244"), y += interline + 5, 500, 20);
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 580), y, 200);
                pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line7_Item1_1245"), y, 500, 20, 215);
                ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 581), y, 240);
                pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line7_Item2_1246"), y, 500, 20, 255);
            }

            #region Resident
            pdfGen.CreatePage();
            y = 0;

            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 580), y);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line7_Item1"), y, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 581), y, 80);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section2_Line7_Item2"), y, 500, 20, 95);

            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page3_Section3_Line1"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 406))), y += interline, 500, 20);
            //pdfGen.AddDefaultText(languageData.GetContent("Page3_Section3_Line2"), y += interline, 500, 20, 100);
            //pdfGen.AddDefaultText(languageData.GetContent("Page3_Section3_Line3"), y += interline, 500, 20, 100);

            pdfGen.AddBlueBorder(y += 20, 70, 400, 95);
            // string sText332 = string.Format(@"{0} {1}", languageData.GetContent("Page3_Section3_Line2"), languageData.GetContent("Page3_Section3_Line3"));
            string sText332 = languageData.GetContent("Page3_Section3_Line3_1");
            pdfGen.AddDefaultText(sText332, y = y + interline, 350, height, 90);

            float x = 90;


            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 584), y = y + interline * 1.5f, x);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, max_width, height, x += tabCheck);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 585), y, x += tabYesNo);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, max_width, height, x += tabCheck);

            /*pdfGen.AddDefaultText(languageData.GetContent("Page3_Section3_Line4"), y += interline, 500, 20, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section3_Line5"), y += interline, 500, 20, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section3_Line6"), y += interline, 500, 20, 100);
            */

            //            string sText334 = string.Format(@"{0} {1} {2}", languageData.GetContent("Page3_Section3_Line4"), languageData.GetContent("Page3_Section3_Line5"), languageData.GetContent("Page3_Section3_Line6"));
            string sText334 = languageData.GetContent("Page3_Section3_Line4_1");
            pdfGen.AddDefaultText(sText334, y = y + interline, 350, height, 90);

            x = 90;
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 587), y = y + interline * 1.5f, x);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, max_width, height, x += tabCheck);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 588), y, x += tabYesNo);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, max_width, height, x += tabCheck);

            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section3_Line7"), y += interline * 1.8f, 500, 20);
            pdfGen.AddReference(languageData.GetContent("Page3_Section3_Line8"), y += interline, 500, 20);
            // pdfGen.AddReference(languageData.GetContent("Page3_Section3_Line9"), y += interline, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 590), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 591), y, 40);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 55);
            #endregion

            #endregion

            #region IV- Personnes habilitées

            pdfGen.CreatePage();

            pdfGen.AddSubtitle(languageData.GetContent("Page4_Section1_Title"), 0, 500, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1"), 20, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 594), 20, 180);
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1_Item1"), 20, 500, 20, 195);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 595), 20, 205);
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1_Item2"), 20, 500, 20, 220);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 596), 20, 230);
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1_Item3"), 20, 500, 20, 245);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 597), 20, 255);
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1_Item4"), 20, 500, 20, 270);
            ReportBL.PlotBooleanValue(pdfGen, ReportBL.GetReportOptionValueFromReportInstance(report, 598), 20, 280);
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1_Item5"), 20, 500, 20, 295);

            int repeat = 0;

            if (ReportBL.GetReportOptionValueFromReportInstance(report, 594) != null)
                repeat = 1;
            else if (ReportBL.GetReportOptionValueFromReportInstance(report, 595) != null)
                repeat = 2;
            else if (ReportBL.GetReportOptionValueFromReportInstance(report, 596) != null)
                repeat = 3;
            else if (ReportBL.GetReportOptionValueFromReportInstance(report, 597) != null)
                repeat = 4;
            else if (ReportBL.GetReportOptionValueFromReportInstance(report, 598) != null)
                repeat = 5;
            else repeat = 0;

            float currentPosition = 20;

            if (repeat > 0)
            {
                List<ReportOptionAttributeValue> personnes = new List<ReportOptionAttributeValue>();
                switch (repeat)
                {
                    case 1:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 407).FirstOrDefault());
                        break;
                    case 2:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 407).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 408).FirstOrDefault());
                        break;
                    case 3:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 407).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 408).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 409).FirstOrDefault());
                        break;
                    case 4:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 407).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 408).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 409).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 410).FirstOrDefault());
                        break;

                    case 5:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 407).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 408).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 409).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 410).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 411).FirstOrDefault());
                        break;

                }



                for (int r = 1; r <= repeat; r++)
                {
                    currentPosition = ReportBL.GeneratePMRLesPersonnesHabilitées(pdfGen, personnes[r - 1], languageData, currentPosition);
                }
            }
            #endregion

            #region V. Origine de la relation

            pdfGen.CreatePage();

            pdfGen.AddSubtitle(languageData.GetContent("Page5_Section1_Title"), 0, 500, 20);

            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(600, idReport), 25);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line1_Item1"), 25, 500, 20, 20);

            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(601, idReport), 25, 250);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page5_Section1_Line1_Item2"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(422, idReport))), 25, 500, 20, 270);

            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line2"), 40, 500, 20, 250);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(603, idReport), 40, 350);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 40, 500, 20, 365);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(604, idReport), 40, 400);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 40, 500, 20, 415);

            //pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line3"), 55, 500, 20, 200);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 55, 300);
            //pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 55, 500, 20, 320);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 55, 350);
            //pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 55, 500, 20, 370);

            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(605, idReport), 40);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line4"), 40, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(606, idReport), 55);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line5"), 55, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(607, idReport), 70);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line6"), 70, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(608, idReport), 85);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line7"), 85, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(609, idReport), 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line8"), 100, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(610, idReport), 115);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line9"), 115, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(611, idReport), 130);
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line10"), 130, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(612, idReport), 145);
            pdfGen.AddDefaultText(String.Format(@"{0}: {1}", languageData.GetContent("Page5_Section1_Line11"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(423, idReport))), 145, 500, 20, 20);
            #endregion

            #region VI.     Le client/prospect a-t-il été démarché ?
            if (SessionManager.GetHostCodeSession() != PageLanguageHelper.HostCode.BE.ToString())
            {
                pdfGen.AddSubtitle(languageData.GetContent("Page5_Section2_Title"), 180, 500, 20);

                ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(614, idReport), 215);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line1"), 215, 500, 20, 15);
                ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(615, idReport), 230);
                /*pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line2"), 230, 500, 20, 20);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line3"), 245, 500, 20);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line4"), 260, 500, 20);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line5"), 275, 500, 20);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line6_Item1"), 290, 500, 20);
                pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page5_Section2_Line6_Item2"), 290, 500, 20, 247);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line6_Item3"), 290, 500, 20, 432);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line7"), 305, 500, 20);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line8"), 320, 500, 20);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line9"), 335, 500, 20);
                */
                //pdfGen.AddDefaultText(String.Format(@"{0} {1} {2} {3} {4} {5} {6} {7} {8} {9}", languageData.GetContent("Page5_Section2_Line2"), languageData.GetContent("Page5_Section2_Line3"), languageData.GetContent("Page5_Section2_Line4"), languageData.GetContent("Page5_Section2_Line5"), languageData.GetContent("Page5_Section2_Line6_Item1"), languageData.GetContent("Page5_Section2_Line6_Item2"), languageData.GetContent("Page5_Section2_Line6_Item3"), languageData.GetContent("Page5_Section2_Line7"), languageData.GetContent("Page5_Section2_Line8"), languageData.GetContent("Page5_Section2_Line9")), 230, 500 - 20, 160, 20);
                pdfGen.AddDefaultText(languageData.GetContent("Page5_Section2_Line2_1"), 230, 500 - 20, 160, 20);
            }
            #endregion

            #region VII.     Relations à diligences accrues

            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddSubtitle(languageData.GetContent("Page6_Section1_Title"), y, 500, 20);
            pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page6_Section1_Line1"), y += interline, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(618, idReport), y += interline, 35);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 50);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(619, idReport), y, 80);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 95);

            pdfGen.AddBlueBorder(y += interline, 20, max_width - 10, 130);
            pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page6_Section1_Line2"), y += 10, max_width - 30, 60, 30);

            pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page6_Section1_Line3"), y += interline * 4f, max_width - 30, 60, 30);

            pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page6_Section1_Line4"), y += interline * 5.5f, 500 - 15, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(621, idReport), y += interline, 35);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 50);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(622, idReport), y, 80);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 95);
            pdfGen.AddReference(languageData.GetContent("Page6_Section1_Line5"), y += interline, 500, 20, 35);
            #endregion

            #region VIII.     Bénéficiaire effectif
            pdfGen.AddSubtitle(languageData.GetContent("Page6_Section2_Title"), y += interline * 1.5f, 500, 20);
            pdfGen.AddReference(languageData.GetContent("Page6_Section2_Line1"), y += interline, 500, 20);

            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section2_Line2"), y += interline, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(625, idReport), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(626, idReport), y, 40);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, 500, 20, 55);

            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section2_Line3"), y += interline * 1.3f, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(628, idReport), y, 140);
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section2_Line3_Item1"), y, 500, 20, 155);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(629, idReport), y, 165);
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section2_Line3_Item2"), y, 500, 20, 180);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(630, idReport), y, 190);
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section2_Line3_Item3"), y, 500, 20, 205);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(631, idReport), y, 215);
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section2_Line3_Item4"), y, 500, 20, 230);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(632, idReport), y, 240);
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section2_Line3_Item5"), y, 500, 20, 255);
            //TODO: value not correct ?????
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 330, 265);
            //TODO: value not correct ???????????
            // pdfGen.AddDefaultText(String.Format(@"Autre: {0}", ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(423, idReport))), 330, 500, 20, 280);

            int repeat2 = 0;

            if (ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(628, idReport) != null)
                repeat2 = 1;
            else if (ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(629, idReport) != null)
                repeat2 = 2;
            else if (ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(630, idReport) != null)
                repeat2 = 3;
            else if (ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(631, idReport) != null)
                repeat2 = 4;
            else if (ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(632, idReport) != null)
                repeat2 = 5;
            else repeat2 = 0;

            float currentPosition2 = 330;

            if (repeat2 > 0)
            {
                List<ReportOptionAttributeValue> personnes = new List<ReportOptionAttributeValue>();
                switch (repeat2)
                {
                    case 1:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 424).FirstOrDefault());
                        break;
                    case 2:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 424).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 425).FirstOrDefault());
                        break;
                    case 3:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 424).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 425).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 426).FirstOrDefault());
                        break;
                    case 4:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 424).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 425).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 426).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 427).FirstOrDefault());
                        break;
                    case 5:
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 424).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 425).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 426).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 427).FirstOrDefault());
                        personnes.Add(report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 428).FirstOrDefault());
                        break;

                }

                for (int r = 1; r <= repeat2; r++)
                {
                    currentPosition2 = ReportBL.GeneratePMRLesBénéficiaireEffectif(pdfGen, personnes[r - 1], languageData, currentPosition2);
                }
            }

            //if (currentPosition2 + 123 >= 700)
            //{
            //    pdfGen.CreatePage();
            //    currentPosition2 = 0;
            //}

            //TODO: no data yet. can't find in UI
            //pdfGen.AddLabelNote("Notes", currentPosition2 + 15, 500, 20);
            //pdfGen.AddBlueBorder(currentPosition2 + 30);
            //pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(0, idReport)), currentPosition2 + 40, 480, 65, 10);
            #endregion

            #region RESULTATS FINANCIERS ET REVENUS
            #region I.     Résultats financiers
            pdfGen.CreatePage();
            y = 0;

            pdfGen.AddTitle(languageData.GetContent("Page7_Section1_Title"), y, 500, 20);

            /*pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line1"), y += (2 * interline), 500, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line2"), y += interline, 500, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line3"), y += interline, 500, 20);
            */
            if (Upsilab.Business.Utility.ConfigurationManager.ExtranetHostCode ==
                Upsilab.Business.Utility.PageLanguageHelper.HostCode.FR.ToString())
            {
                //string str = String.Format(@"{0} {1} {2}", languageData.GetContent("Page7_Section1_Line1"),
                //    languageData.GetContent("Page7_Section1_Line2"), languageData.GetContent("Page7_Section1_Line3"));
                string str = languageData.GetContent("Page7_Section1_Line2_1");
                pdfGen.AddDefaultText(str, y += (2 * interline), 500, 60);
            }
            else
                pdfGen.AddDefaultText(String.Format(@"{0}", languageData.GetContent("Page7_Section1_Line1")),
                    y += (2 * interline), 500, 60);

            #endregion

            #region II.     L’actif
            pdfGen.AddSubtitle(languageData.GetContent("Page7_Section2_Title"), y += (4 * interline), 500, 20);

            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line1"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(352, idReport))), y += paddingAfterParagraph, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line1"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(352, idReport)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line2"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(353, idReport))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line2"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(353, idReport)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line3"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(354, idReport))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line3"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(354, idReport)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line4"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(355, idReport))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line4"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(355, idReport)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line5"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(356, idReport))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page7_Section2_Line5"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(356, idReport)), y, answer_width, height, answer_x);


            pdfGen.AddSubtitle(languageData.GetContent("Page7_Section3_Title"), y += (2 * interline), 500, 20);

            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section3_Line1"), y += paddingAfterParagraph, 500, 20, 50);

            pdfGen.AddDefaultText(GetReportOptionAttributeValueByIdOptionAttribute(725, report), y, 500, 20, 200);


            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(507, idReport), 285);
            //pdfGen.AddDefaultText(languageData.GetContent("Page7_Section3_Line2_Item1"), 285, 500, 20, 20);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(508, idReport), 285, 70);
            //pdfGen.AddDefaultText(languageData.GetContent("Page7_Section3_Line2_Item2"), 285, 500, 20, 90);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(509, idReport), 285, 180);
            //pdfGen.AddDefaultText(languageData.GetContent("Page7_Section3_Line2_Item3"), 285, 500, 20, 200);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(510, idReport), 285, 295);
            //pdfGen.AddDefaultText(languageData.GetContent("Page7_Section3_Line2_Item4"), 285, 500, 20, 315);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(511, idReport), 285, 415);
            //pdfGen.AddDefaultText(languageData.GetContent("Page7_Section3_Line2_Item5"), 285, 500, 20, 435);

            Dictionary<int, string[]> rowData = new Dictionary<int, string[]>();
            somme = 0;
            string presentValue = "";
            var data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(358, idReport);
            presentValue = ReportBL.GetStringValue(data, "PresentValue");
            if (Double.TryParse(presentValue.Replace(".", ","), out d))
                somme += d;
            rowData.Add(0, new string[] {languageData.GetContent("Page7_Section3_Table1_Row1_Column1"), 
                                       presentValue,
                                        ReportBL.GetStringValue(data, "Source"),
                                        ReportBL.GetStringValue(data, "Description"),
                                        ReportBL.GetStringValue(data, "Country")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(359, idReport);
            presentValue = ReportBL.GetStringValue(data, "PresentValue");
            if (Double.TryParse(presentValue.Replace(".", ","), out d))
                somme += d;
            rowData.Add(1, new string[] { languageData.GetContent("Page7_Section3_Table1_Row2_Column1"), 
                                       presentValue,
                                        ReportBL.GetStringValue(data, "Source"),
                                        ReportBL.GetStringValue(data, "Description"),
                                        ReportBL.GetStringValue(data, "Country")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(360, idReport);
            presentValue = ReportBL.GetStringValue(data, "PresentValue");
            if (Double.TryParse(presentValue.Replace(".", ","), out d))
                somme += d;
            rowData.Add(2, new string[] { languageData.GetContent("Page7_Section3_Table1_Row3_Column1"),
                                        presentValue,
                                        ReportBL.GetStringValue(data, "Source"),
                                        ReportBL.GetStringValue(data, "Description"),
                                        ReportBL.GetStringValue(data, "Country")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(361, idReport);
            presentValue = ReportBL.GetStringValue(data, "PresentValue");
            if (Double.TryParse(presentValue.Replace(".", ","), out d))
                somme += d;
            rowData.Add(3, new string[] { languageData.GetContent("Page7_Section3_Table1_Row4_Column1"), 
                                       presentValue,
                                        ReportBL.GetStringValue(data, "Source"),
                                        ReportBL.GetStringValue(data, "Description"),
                                        ReportBL.GetStringValue(data, "Country")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(362, idReport);
            presentValue = ReportBL.GetStringValue(data, "PresentValue");
            if (Double.TryParse(presentValue.Replace(".", ","), out d))
                somme += d;
            rowData.Add(4, new string[] { languageData.GetContent("Page7_Section3_Table1_Row5_Column1"), 
                                       presentValue,
                                        ReportBL.GetStringValue(data, "Source"),
                                        ReportBL.GetStringValue(data, "Description"),
                                        ReportBL.GetStringValue(data, "Country")});

            rowData.Add(5, new string[] {  languageData.GetContent("Total"), 
                                       isEmptyReport?string.Empty: somme.ToString(),
                                       "",
                                       "",
                                       ""});

            pdfGen.AddTable(new string[] {  languageData.GetContent("Page7_Section3_Table1_Column1"), 
                                                    languageData.GetContent("Page7_Section3_Table1_Column2"), 
                                                    languageData.GetContent("Page7_Section3_Table1_Column3"), 
                                                    languageData.GetContent("Page7_Section3_Table1_Column4"), 
                                                    languageData.GetContent("Page7_Section3_Table1_Column5") },
                                                    rowData, 0, y += paddingAfterParagraph, 600, 220);
            data = null;
            rowData = null;

            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line3"), y += 220, 500, 20); //525
            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line4"), y += 10, 500, 20, 10);
            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line5"), y += 10, 500, 20, 10);
            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line6"), y += 10, 500, 20, 10);
            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line7"), y += 10, 500, 20, 10);
            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line8"), y += 10, 500, 20, 10);
            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line9"), y += 10, 500, 20, 10);
            pdfGen.AddReference(languageData.GetContent("Page7_Section3_Line10"), y += 10, 500, 20, 10);

            pdfGen.AddLabelNote(languageData.GetContent("Page7_Section3_Line11"), y += (2 * interline), 500, 20);
            pdfGen.AddBlueBorder(y += interline);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(357, idReport)), y += 5, 480, 65, 10);
            #endregion

            #region III.     Le passif
            pdfGen.CreatePage();

            pdfGen.AddSubtitle(languageData.GetContent("Page8_Section1_Title"), 0, 500, 20);

            pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line1") + " : ", 30, 500, 20, 50);

            pdfGen.AddDefaultText(GetReportOptionAttributeValueByIdOptionAttribute(726, report), 30, 500, 20, 210);

            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(507, idReport), 60);
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line2_Item1"), 60, 500, 20, 20);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(508, idReport), 60, 70);
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line2_Item2"), 60, 500, 20, 90);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(509, idReport), 60, 180);
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line2_Item3"), 60, 500, 20, 200);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(510, idReport), 60, 295);
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line2_Item4"), 60, 500, 20, 315);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(511, idReport), 60, 415);
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line2_Item5"), 60, 500, 20, 435);

            pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page8_Section1_Line3"), 90, 500, 20, 50);

            rowData = new Dictionary<int, string[]>();

            somme = 0;
            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(363, idReport);
            var AnnualAmount = ReportBL.GetStringValue(data, "AnnualAmount");
            if (Double.TryParse(AnnualAmount.Replace(".", ","), out d))
                somme += d;
            rowData.Add(0, new string[] {languageData.GetContent("Page8_Section1_Table1_Row1_Column1"), 
                                        AnnualAmount ,
                                        ReportBL.GetStringValue(data, "Term"),
                                        ReportBL.GetStringValue(data, "AdditionalInfo")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(364, idReport);
            AnnualAmount = ReportBL.GetStringValue(data, "AnnualAmount");
            if (Double.TryParse(AnnualAmount.Replace(".", ","), out d))
                somme += d;
            rowData.Add(1, new string[] { languageData.GetContent("Page8_Section1_Table1_Row2_Column1"), 
                                         AnnualAmount,
                                        ReportBL.GetStringValue(data, "Term"),
                                        ReportBL.GetStringValue(data, "AdditionalInfo")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(365, idReport);
            AnnualAmount = ReportBL.GetStringValue(data, "AnnualAmount");
            if (Double.TryParse(AnnualAmount.Replace(".", ","), out d))
                somme += d;
            rowData.Add(2, new string[] { languageData.GetContent("Page8_Section1_Table1_Row3_Column1"),
                                       AnnualAmount,
                                        ReportBL.GetStringValue(data, "Term"),
                                        ReportBL.GetStringValue(data, "AdditionalInfo")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(366, idReport);
            AnnualAmount = ReportBL.GetStringValue(data, "AnnualAmount");
            if (Double.TryParse(AnnualAmount.Replace(".", ","), out d))
                somme += d;
            rowData.Add(3, new string[] { languageData.GetContent("Page8_Section1_Table1_Row4_Column1"), 
                                       AnnualAmount,
                                        ReportBL.GetStringValue(data, "Term"),
                                        ReportBL.GetStringValue(data, "AdditionalInfo")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(367, idReport);
            AnnualAmount = ReportBL.GetStringValue(data, "AnnualAmount");
            if (Double.TryParse(AnnualAmount.Replace(".", ","), out d))
                somme += d;
            rowData.Add(4, new string[] { languageData.GetContent("Page8_Section1_Table1_Row5_Column1"), 
                                       AnnualAmount,
                                        ReportBL.GetStringValue(data, "Term"),
                                        ReportBL.GetStringValue(data, "AdditionalInfo")});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(368, idReport);
            AnnualAmount = ReportBL.GetStringValue(data, "AnnualAmount");
            if (Double.TryParse(AnnualAmount.Replace(".", ","), out d))
                somme += d;
            rowData.Add(5, new string[] { languageData.GetContent("Page8_Section1_Table1_Row6_Column1"), 
                                         AnnualAmount,
                                        ReportBL.GetStringValue(data, "Term"),
                                        ReportBL.GetStringValue(data, "AdditionalInfo")});

            rowData.Add(6, new string[] { languageData.GetContent("Total"), 
                                       isEmptyReport?string.Empty:somme.ToString(),
                                        "",
                                       ""});

            pdfGen.AddTable(new string[] { languageData.GetContent("Page8_Section1_Table1_Column1"), 
                                                    languageData.GetContent("Page8_Section1_Table1_Column2"), 
                                                    languageData.GetContent("Page8_Section1_Table1_Column3"), 
                                                    languageData.GetContent("Page8_Section1_Table1_Column4") }, rowData, 0, 80, 600, 400);
            data = null;
            rowData = null;

            pdfGen.AddLabelNote(languageData.GetContent("Page8_Section1_Line4"), 400, 500, 20);
            pdfGen.AddBlueBorder(415);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(369, idReport)), 420, 480, 65, 10);
            #endregion

            #endregion

            #region VOS ORIENTATIONS PATRIMONIALES
            pdfGen.CreatePage();

            pdfGen.AddTitle(languageData.GetContent("Page9_Section1_Title"), 0);

            #region Hiérarchisation des priorités
            pdfGen.AddSubtitle(languageData.GetContent("Page9_Section1_Subtitle"), 30);

            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section1_Line1"), 60);

            rowData = new Dictionary<int, string[]>();

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(595, idReport);
            rowData.Add(0, new string[] { data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                        languageData.GetContent("Page9_Section1_Table1_Row1_Column2"),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(596, idReport);
            rowData.Add(1, new string[] { data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                        languageData.GetContent("Page9_Section1_Table1_Row2_Column2"),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(597, idReport);
            rowData.Add(2, new string[] {  data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                        languageData.GetContent("Page9_Section1_Table1_Row3_Column2"),
                                       data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(598, idReport);
            rowData.Add(3, new string[] { data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                        languageData.GetContent("Page9_Section1_Table1_Row4_Column2"),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(599, idReport);
            rowData.Add(4, new string[] { data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                         languageData.GetContent("Page9_Section1_Table1_Row5_Column2"),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(600, idReport);
            rowData.Add(5, new string[] {  data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                         languageData.GetContent("Page9_Section1_Table1_Row6_Column2"),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(601, idReport);
            rowData.Add(6, new string[] {  data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                         languageData.GetContent("Page9_Section1_Table1_Row7_Column2"),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(602, idReport);
            rowData.Add(7, new string[] { data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                         languageData.GetContent("Page9_Section1_Table1_Row8_Column2"),
                                       data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(603, idReport);
            rowData.Add(8, new string[] { data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                         languageData.GetContent("Page9_Section1_Table1_Row9_Column2"),
                                       data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(604, idReport);
            rowData.Add(9, new string[] {  data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                         languageData.GetContent("Page9_Section1_Table1_Row10_Column2"),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            data = ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(605, idReport);
            rowData.Add(10, new string[] { data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.Priority), 5):"",
                                         string.Format("{0} : {1}", languageData.GetContent("Page9_Section1_Table1_Row11_Column2"), data!=null?ReportBL.GetStringValue(data.CustomObjectValue.Object):""),
                                        data!=null?GetEnumValue(Convert.ToString(data.CustomObjectValue.YearImmediate), 6):""});

            pdfGen.AddRecueil_Table_HiérarchisationDesPriorités(new string[] { languageData.GetContent("Page9_Section1_Table1_Column1"), 
                                                                               languageData.GetContent("Page9_Section1_Table1_Column2"), 
                                                                               languageData.GetContent("Page9_Section1_Table1_Column3") }, rowData, 45, 90, 500, 400, 8, false);
            data = null;
            rowData = null;

            pdfGen.AddLabelNote(languageData.GetContent("Page9_Section1_Line2"), 450, 500, 20, 45);
            pdfGen.AddBlueBorder(465, 45, 400);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(594, idReport)), 470, 500, 65, 55);
            #endregion

            #region a)  Transmettre votre entreprise

            y = 530;
            pdfGen.AddDefaultBoldText(languageData.GetContent("Page9_Section2_Line1"), y += interline, 500, 20, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line2"), y += paddingAfterParagraph);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1014, idReport), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line3_Item1"), y, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1015, idReport), y, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line3_Item2"), y, 500, 20, 120);

            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page9_Section2_Line4"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(606, idReport))), y += interline);
            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page9_Section2_Line5"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(607, idReport))), y += interline);
            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page9_Section2_Line6"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(608, idReport))), y += interline);
            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page9_Section2_Line7"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(609, idReport))), y += interline);
            #endregion

            #region b)  Céder votre entreprise
            pdfGen.CreatePage();

            pdfGen.AddDefaultBoldText(languageData.GetContent("Page10_Section1_Line1"), 0, 500, 20, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section1_Line2"), 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1019, idReport), 35);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section1_Line3_Item1"), 35, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1020, idReport), 35, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section1_Line3_Item2"), 35, 500, 20, 120);

            y = 55;
            //pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page10_Section1_Line4"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(610, idReport))), 55);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section1_Line4"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(610, idReport)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page10_Section1_Line5"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(611, idReport))), 70);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section1_Line5"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(611, idReport)), y, answer_width, height, answer_x);

            // pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page10_Section1_Line6"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(612, idReport))), 85);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section1_Line6"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(612, idReport)), y, answer_width, height, answer_x);

            //pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page10_Section1_Line7"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(613, idReport))), 100);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section1_Line7"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(613, idReport)), y, answer_width, height, answer_x);

            #endregion

            #region c)  Réduire vos impôts
            pdfGen.AddDefaultBoldText(languageData.GetContent("Page10_Section2_Line1"), 130, 500, 20, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section2_Line2"), 145);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1024, idReport), 160, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section2_Line3_Item1"), 160, 500, 20, 40);
            y = 160;
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1025, idReport), y += interline, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section2_Line3_Item2"), y, 500, 20, 40);

            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section2_Line4"), y += interline);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1027, idReport), y += interline, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section2_Line5_Item1"), y, 500, 20, 40);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1028, idReport), y, 200);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section2_Line5_Item2"), y, 500, 20, 220);

            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section2_Line6"), y += interline);
            pdfGen.AddDefaultText(String.Format(@" {0} {1} {2}    {3} ",
                isEmptyReport ? "      " : ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(614, idReport)),
                languageData.GetContent("Page10_Section2_Line6_Item1"),
                isEmptyReport ? "      " : ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(615, idReport)),
                languageData.GetContent("Page10_Section2_Line6_Item2"))
                , y, 500, 20, 200);
            #endregion

            #region d)  Gérer votre trésorerie
            pdfGen.AddDefaultBoldText(languageData.GetContent("Page10_Section3_Line1"), y += interline + 5, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page10_Section3_Line2"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(617, idReport))), y += interline);

            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1034, idReport), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section3_Line3"), y, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section3_Line4"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(619, idReport))), y += interline, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1035, idReport), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section3_Line5"), y, 500, 20, 15);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section3_Line6"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(620, idReport))), y += interline, 500, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1036, idReport), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section3_Line7"), y, 500, 20, 15);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section3_Line8"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(621, idReport))), y += interline, 500, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section3_Line9"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(618, idReport))), y += interline, 500, 20);

            pdfGen.AddLabelNote(languageData.GetContent("Page10_Section3_Line10"), y += interline, 500, 20);
            pdfGen.AddBlueBorder(y += interline, 0, 510, 65);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(616, idReport)), y += interline, 500, 35);
            #endregion

            #region e)  Autres placements
            y = 520;
            pdfGen.AddDefaultBoldText(languageData.GetContent("Page10_Section4_Line1"), y, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page10_Section4_Line2"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(622, idReport))), y += interline);
            pdfGen.AddDefaultText(String.Format(@"{0} {1}", languageData.GetContent("Page10_Section4_Line3"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(623, idReport))), y += interline);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1042, idReport), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section4_Line4"), y, 500, 20, 15);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section4_Line5"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(624, idReport))), y += interline, 500, 20, 20);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1043, idReport), y += interline);
            pdfGen.AddDefaultText(languageData.GetContent("Page10_Section4_Line6"), y, 500, 20, 15);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section4_Line7"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(625, idReport))), y += interline, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page10_Section4_Line8"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(626, idReport))), y += interline);
            #endregion

            #region f) Acquérir un bien immobilier
            pdfGen.CreatePage();

            pdfGen.AddDefaultBoldText(languageData.GetContent("Page11_Section1_Line1"), 0, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} {1} {2}", languageData.GetContent("Page11_Section1_Line2_Item1"), isEmptyReport ? "       " : ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(627, idReport)), languageData.GetContent("Page11_Section1_Line2_Item2")), 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section1_Line3"), 35);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section1_Line4"), 50);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1050, idReport), 50, 250);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 50, 500, 20, 265);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1051, idReport), 50, 290);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 50, 500, 20, 305);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section1_Line5"), 65);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1053, idReport), 65, 250);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 65, 500, 20, 265);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1054, idReport), 65, 290);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 65, 500, 20, 305);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section1_Line6"), 80);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1056, idReport), 80, 250);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 80, 500, 20, 265);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1057, idReport), 80, 290);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 80, 500, 20, 305);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section1_Line7"), 95);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1059, idReport), 95, 250);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 95, 500, 20, 265);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1060, idReport), 95, 290);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 95, 500, 20, 305);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section1_Line8"), 110);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1062, idReport), 110, 250);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 110, 500, 20, 265);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1063, idReport), 110, 290);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 110, 500, 20, 305);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section1_Line9"), 125);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1065, idReport), 125, 250);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 125, 500, 20, 265);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1066, idReport), 125, 290);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 125, 500, 20, 305);
            pdfGen.AddDefaultText(String.Format("{0} : {1}", languageData.GetContent("Page11_Section1_Line10"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(628, idReport))), 140);

            pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page11_Section2_Line1"), 165, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format(@"{0} {1} {2}", languageData.GetContent("Page11_Section2_Line2_Item1"), isEmptyReport ? "       " : ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(629, idReport)), languageData.GetContent("Page11_Section2_Line2_Item2")), 185);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section2_Line3"), 200);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1072, idReport), 200, 160);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section2_Line3_Item1"), 200, 500, 20, 175);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1073, idReport), 200, 250);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section2_Line3_Item2"), 200, 500, 20, 265);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 200, 355);
            pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page11_Section2_Line3_Item3"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(630, idReport))), 200, 500, 20, 370);

            pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page11_Section3_Line1"), 225, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format("{0} {1}", languageData.GetContent("Page11_Section3_Line2"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(631, idReport))), 245);
            pdfGen.AddDefaultText(String.Format("{0} {1}", languageData.GetContent("Page11_Section3_Line3"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(632, idReport))), 260);

            pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page11_Section4_Line1"), 285, 500, 20, 20);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section4_Line2"), 305);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1080, idReport), 320);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section4_Line2_Item1"), 320, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1081, idReport), 335);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section4_Line2_Item2"), 335, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1082, idReport), 350);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section4_Line2_Item3"), 350, 500, 20, 15);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1083, idReport), 365);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section4_Line2_Item4"), 365, 500, 20, 15);
            pdfGen.AddDefaultText(String.Format("{0} {1}", languageData.GetContent("Page11_Section4_Line3"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(633, idReport))), 395);
            pdfGen.AddDefaultText(String.Format("{0} {1}", languageData.GetContent("Page11_Section4_Line4"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(634, idReport))), 425);

            pdfGen.AddReceuil_DefaultText_Justify_CalibriBold_Label(languageData.GetContent("Page11_Section5_Line1"), 450, 500, 20, 20);
            pdfGen.AddDefaultText(String.Format("{0} {1}", languageData.GetContent("Page11_Section5_Line2"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(636, idReport))), 480);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section5_Line3"), 495);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1088, idReport), 495, 280);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 495, 500, 20, 295);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1089, idReport), 495, 325);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 495, 500, 20, 340);
            pdfGen.AddDefaultText(String.Format("{0} {1}", languageData.GetContent("Page11_Section5_Line4"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(637, idReport))), 515);
            pdfGen.AddDefaultText(languageData.GetContent("Page11_Section5_Line5"), 530);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1092, idReport), 530, 280);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), 530, 500, 20, 295);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1093, idReport), 530, 325);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), 530, 500, 20, 340);
            pdfGen.AddDefaultText(String.Format("{0} {1}", languageData.GetContent("Page11_Section5_Line6"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(638, idReport))), 545);

            pdfGen.AddLabelNote(languageData.GetContent("Page11_Section5_Line7"), 575);
            pdfGen.AddBlueBorder(590);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(635, idReport)), 595, 500, 65, 55);

            #endregion

            #endregion

            #region PROFIL ET OBJECTIF D'INVESTISSEMENT
            pdfGen.CreatePage();
            y = 0;

            //Titre : PROFIL ET OBJECTIFS D’INVESTISSEMENTS
            pdfGen.AddTitle(languageData.GetContent("Page12_Section1_Title"), y);

            //Questionnaire autre UPSIDE0
            y = y + paddingAfterParagraph;
            float yCheckbox = y + paddingAfterParagraph;
            ReportBL.PlotBooleanValue(pdfGen, GetReportOptionValueByIdOption(1207, report), yCheckbox);
            pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_756"), yCheckbox, 500, 2 * height, 20);

            pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("PDF_PM_Report_1207"), ReportBL.GetStringValue(ReportBL.GetReportOptionAttributeValueFromReportInstance(report, 753))), y += paddingAfterParagraph + interline, 500, 2 * height);
            pdfGen.AddDefaultText(languageData.GetContent("PDF_PM_Report_753"), y += paddingAfterParagraph + 5, max_width, 2 * height);

            //Questionnaire UPSIDEO
            yCheckbox = y += (2 * paddingAfterParagraph);
            ReportBL.PlotBooleanValue(pdfGen, GetReportOptionValueByIdOption(1208, report), yCheckbox);
            pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_757"), yCheckbox, 500, 2 * height, 20);

            pdfGen.AddDefaultText(languageData.GetContent("PDF_PM_Report_1208"), y += interline, 500, 2 * height);

            #region I.  Niveau de connaissance ou d’intervention sur les instruments financiers et les marchés
            pdfGen.AddSubtitle(languageData.GetContent("Page12_Section1_Subtitle"), y += interline + 10, max_width, height, ChapiterPaddingLeft);

            rowData = new Dictionary<int, string[]>();

            pdfGen.AddRecueil_Table_PROFILETOBJECTIFSDINVESTISSEMENTS_Columns(50, y + paddingAfterParagraph, 450, new List<string>()
            {
                  languageData.GetContent("Page12_Section1_Table1_Column1"),
                  languageData.GetContent("Page12_Section1_Table1_Column2"),
                  languageData.GetContent("Report_Symbol_Yes"),
                  languageData.GetContent("Report_Symbol_No"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn1"),
                  
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn2"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn3"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn1_Item1"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn1_Item2"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn2_Item1"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn2_Item2"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn3_Item1"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn3_Item2"),
                  languageData.GetContent("Page12_Section1_Table1_Column2_SubColumn3_Item3")
            });
            List<List<String>> list = new List<List<string>>();
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table2_Row1_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(370, idReport),"3", "TransactionVolume").ToString()
            });
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table2_Row2_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(371, idReport),"3", "TransactionVolume").ToString()
            });
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table2_Row3_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(372, idReport),"3", "TransactionVolume").ToString()
            });
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table2_Row4_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(373, idReport),"3", "TransactionVolume").ToString()
            });
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table2_Row5_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(374, idReport),"3", "TransactionVolume").ToString()
            });
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table2_Row6_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(375, idReport),"3", "TransactionVolume").ToString()
            });

            if (Upsilab.Business.Utility.ConfigurationManager.ExtranetHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                list.Add(new List<string>() { 
                languageData.GetContent("ClientPM_Profile_Produits_structures"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(777, idReport),"3", "TransactionVolume").ToString()
            });
                list.Add(new List<string>() { 
                languageData.GetContent("ClientPM_Profile_Produits_derives"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(778, idReport),"3", "TransactionVolume").ToString()
            });
            }

            pdfGen.AddRecueil_Table_PROFILETOBJECTIFSDINVESTISSEMENTS_Body(0, y + paddingAfterParagraph + 140 /*195*/, 500, languageData.GetContent("Page12_Section1_Table2_Column1"), list);

            list = new List<List<string>>();

            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table3_Row1_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(376, idReport),"3", "TransactionVolume").ToString()
            });
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table3_Row2_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(377, idReport),"3", "TransactionVolume").ToString()
            });
            list.Add(new List<string>() { 
                languageData.GetContent("Page12_Section1_Table3_Row3_Column1"),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport), "1", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport), "2", "HasKnowledge").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport), "1", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport), "2", "HasTransaction").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport),"1", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport),"2", "TransactionFrequency").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport),"1", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport),"2", "TransactionPeriod").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport),"1", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport),"2", "TransactionVolume").ToString(),
                ReportBL.GetBooleanValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(378, idReport),"3", "TransactionVolume").ToString()
            });

            pdfGen.AddRecueil_Table_PROFILETOBJECTIFSDINVESTISSEMENTS_Body(0, y + paddingAfterParagraph + 330 /*368*/, 500, languageData.GetContent("Page12_Section1_Table3_Column1"), list);
            list = null;

            //pdfGen.AddBlueBorder(477, 0, 500, 40);
            //pdfGen.AddReceuil_DetailText_Center_Calibri_Label(@"Quels sont les marchés sur lesquels le mandant est intervenu ?", 482);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 497, 60);
            //pdfGen.AddDefaultText(@"je l’ignore", 497, 500, 20, 80);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 497, 135);
            //pdfGen.AddDefaultText(@"Marché réglementé", 497, 500, 20, 155);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 497, 250);
            //pdfGen.AddDefaultText(@"Marché dérivé", 497, 500, 20, 270);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 497, 340);
            //pdfGen.AddDefaultText(@"Marché de gré à gré", 497, 500, 20, 360);

            //pdfGen.AddLabelNote("Notes", 550);
            //pdfGen.AddBlueBorder(565);
            //pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(380, idReport)), 570, 500, 65, 55);
            #endregion

            #region II. Expérience en matière de services d’investissements
            bool showFooterContent = false;
            pdfGen.CreatePage(showFooterContent);
            y = 0;

            pdfGen.AddSubtitle(languageData.GetContent("Page13_Section1_Line1"), 0);

            pdfGen.AddBlueBorder(20, 0, 500, 20);
            pdfGen.AddReceuil_DetailText_Center_Calibri_Label(languageData.GetContent("Page13_Section1_Line2"), 23);


            //Bottom Section : Oui
            pdfGen.AddRecueil_Table_PROFILETOBJECTIFSDINVESTISSEMENTS_2_BottomSection(0, 278 /*222*/, 500, new List<string>() {
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(525, idReport)),
                languageData.GetContent("Report_Symbol_Yes"),
                languageData.GetContent("Page13_Section1_Table2_Row1_Column2"),                
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(949, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row2_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(950, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row2_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(951, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row2_Column4"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(952, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row2_Column5"),
               
                languageData.GetContent("Page13_Section1_Table2_Row4_Column2") + ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(590, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row5_Column2"),
                 GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1003, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row6_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1004, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row6_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(1005, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row6_Column4"),

                 languageData.GetContent("Page13_Section1_Table2_Row7_Column2")  + ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(592, idReport)),

                languageData.GetContent("Page13_Section1_Table2_Row8_Column2"),
                 GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(955, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row9_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(956, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row9_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(957, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row9_Column4"),
                
                languageData.GetContent("Page13_Section1_Table2_Row10_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(959, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row11_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(960, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row11_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(961, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row11_Column4"),

                languageData.GetContent("Page13_Section1_Table2_Row12_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(964, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row13_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(965, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row13_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(966, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row13_Column4"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(967, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row13_Column5"),

                /*languageData.GetContent("Page13_Section1_Table2_Row14_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(970, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row15_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(971, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row15_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(972, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row15_Column4"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(973, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row15_Column5"),*/

                languageData.GetContent("Page13_Section1_Table2_Row16_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(976, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row17_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(977, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row17_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(978, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row17_Column4"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(979, idReport)),
                languageData.GetContent("Page13_Section1_Table2_Row17_Column5"),

                languageData.GetContent("PDF_PM_Report_1210"),
                GetBooleanString(GetReportOptionValueByIdOption(1211, report)),
                languageData.GetContent("PDF_PM_Report_1211"),
                GetBooleanString(GetReportOptionValueByIdOption(1212, report)),
                languageData.GetContent("PDF_PM_Report_1212"),
                GetBooleanString(GetReportOptionValueByIdOption(1213, report)),
                languageData.GetContent("PDF_PM_Report_1213")
            });

            pdfGen.AddRecueil_Table_PROFILETOBJECTIFSDINVESTISSEMENTS_2_TopSection(0, 40, 600, new List<string>() { 
                //Top Section
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(526, idReport)),
                languageData.GetContent("Report_Symbol_No"),

                languageDataPP.GetContent("Page13_Section1_Table1_Row1_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(982, idReport)),
                languageData.GetContent("Report_Symbol_Yes"),
               
                languageData.GetContent("Page13_Section1_Table1_Row3_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(986, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row4_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(987, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row4_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(988, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row4_Column4"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(989, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row4_Column5"),

                languageData.GetContent("Page13_Section1_Table1_Row5_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(991, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row6_Column2"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(992, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row6_Column3"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(993, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row6_Column4"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(994, idReport)),
                languageData.GetContent("Page13_Section1_Table1_Row6_Column5"),
                GetBooleanString(ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(983, idReport)),
                languageData.GetContent("Report_Symbol_No"),
                String.Format("{0} : {1}", languageData.GetContent("Page13_Section1_Table1_Row8_Column2"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(593, idReport))),

                languageData.GetContent("PDF_PM_Report_1215"),
                GetBooleanString(GetReportOptionValueByIdOption(1216, report)),
                languageData.GetContent("PDF_PM_Report_1216"),
                GetBooleanString(GetReportOptionValueByIdOption(1217, report)),
                languageData.GetContent("PDF_PM_Report_1217"),
                GetBooleanString(GetReportOptionValueByIdOption(1218, report)),
                languageData.GetContent("PDF_PM_Report_1218")
            });
            #endregion

            #endregion

            pdfGen.CreatePage();

            //TODO : texte

            pdfGen.AddReference(languageData.GetContent("PDF_PM_Report_Description_1"), 0, 500, 40);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line2_Item1"), 0);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line2"), 0, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line3"), 13, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line4"), 28, 500, 20, 20);

            pdfGen.AddReference(languageData.GetContent("PDF_PM_Report_Description_2"), 30, 500, 60);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line5_Item1"), 48);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line5"), 48, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line6"), 63, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line7"), 78, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line8"), 93, 500, 20, 20);

            pdfGen.AddReference(languageData.GetContent("PDF_PM_Report_Description_3"), 70, 500, 80);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line9_Item1"), 113);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line9"), 113, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line10"), 128, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line11"), 143, 500, 20, 20);

            pdfGen.AddReference(languageData.GetContent("PDF_PM_Report_Description_4"), 100, 500, 80);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line12_Item1"), 163);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line12"), 163, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line13"), 178, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line14"), 193, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line15"), 208, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page14_Section1_Line16"), 223, 500, 20, 20);

            pdfGen.AddImage(FileManager.AssemblyDirectory + "\\PDF\\PM_Graph.gif", 50, 250, 350, 200);

            pdfGen.AddDefaultText(String.Format(@"{0} : {1}", languageData.GetContent("Page14_Section1_Line17"), ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(379, idReport))), 470);

            pdfGen.AddLabelNote(languageData.GetContent("Page14_Section1_Line18"), 500);
            pdfGen.AddBlueBorder(515);
            pdfGen.AddDefaultText(ReportBL.GetStringValue(ReportOptionBL.GetReportOptionAttributeValueByIdOptionAttributeAndIdReport(380, idReport)), 520, 500, 65, 55);

            #region Catégorisation client
            pdfGen.CreatePage();

            pdfGen.AddTitle(languageData.GetContent("Page15_Section1_Title"), 0);

            pdfGen.AddDefaultBoldText(languageData.GetContent("Page15_Section1_Line1"), 30);
            pdfGen.AddDefaultBoldText(languageData.GetContent("Page15_Section1_Line2"), 45);
            //  pdfGen.AddDefaultBoldText(languageData.GetContent("Page15_Section1_Line3"), 60);

            pdfGen.AddDefaultText(languageData.GetContent("Page15_Section1_Line4"), 90);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(529, idReport), 90, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page15_Section1_Line4_Item1"), 90, 500, 20, 115);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(530, idReport), 105, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page15_Section1_Line5_Item1"), 105, 500, 20, 115);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(531, idReport), 120, 140);
            pdfGen.AddDefaultText(languageData.GetContent("Page15_Section1_Line6_Item1"), 120, 500, 20, 155);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(532, idReport), 120, 220);
            pdfGen.AddDefaultText(languageData.GetContent("Page15_Section1_Line6_Item2"), 120, 500, 20, 235);
            ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(533, idReport), 135, 100);
            pdfGen.AddDefaultText(languageData.GetContent("Page15_Section1_Line7_Item1"), 135, 500, 20, 115);


            if (Upsilab.Business.Utility.ConfigurationManager.ExtranetHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.FR.ToString())
            {
                pdfGen.AddReference(languageData.GetContent("Page15_Section1_Line8"), 160);
                pdfGen.AddReference(languageData.GetContent("Page15_Section1_Line9"), 190);
                pdfGen.AddReference(languageData.GetContent("Page15_Section1_Line10"), 205);
                pdfGen.AddReference(languageData.GetContent("Page15_Section1_Line11"), 220);
                pdfGen.AddReference(languageData.GetContent("Page15_Section1_Line12"), 235);
            }
            else
            {
                pdfGen.AddFormatttedReference(languageData.GetContent("categorie_ref_pm"), 160, max_width, height * 10);

            }

            //pdfGen.CreatePage();

            //pdfGen.AddTitle(languageData.GetContent("Page16_Section1_Title"), 0);

            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 75);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line1"), 75, 500, 20, 20);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 100);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line2"), 100, 500, 20, 20);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 125);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line3"), 125, 500, 20, 20);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line4"), 140);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 165);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line5"), 165, 500, 20, 20);
            //pdfGen.AddRecueil_Line(190);
            //pdfGen.AddRecueil_Line(215);
            //pdfGen.AddRecueil_Line(240);
            //pdfGen.AddRecueil_Line(265);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 290);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line6"), 290, 500, 20, 20);
            //pdfGen.AddRecueil_Line(315);
            //pdfGen.AddRecueil_Line(340);
            //pdfGen.AddRecueil_Line(365);
            //pdfGen.AddRecueil_Line(390);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 415);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line7"), 415, 500, 20, 20);
            //ReportBL.PlotBooleanValue(pdfGen, ReportOptionBL.GetReportOptionValueByIdOptionAndIdReport(0, idReport), 440);
            //pdfGen.AddReceuil_DetailText_Justify_Calibri_Label(languageData.GetContent("Page16_Section1_Line8"), 440, 500, 20, 20);

            #endregion

            pdfGen.CreatePage();

            pdfGen.AddTitle(languageData.GetContent("Page17_Section1_Title"), 0);

            var reportAlerts = ReportAlertBL.GetReportNonBlockingAlertsByIdReport(idReport);
            List<List<String>> reportAlertArray = new List<List<string>>();
            var alertLanguageData = PageLanguageHelper.GetLanguageContent("User", "AlertPanel");
            foreach (var reportAlert in reportAlerts)
            {
                var tempList = new List<String>();
                tempList.Add(alertLanguageData.GetContent(AlertBL.GetAlertById(reportAlert.idAlert).NameKey));
                tempList.Add(reportAlert.JustifyingReason);
                reportAlertArray.Add(tempList);
            }

            pdfGen.AddRecueil_Table_Remarques(reportAlertArray, 0, 40, 500, new List<string>()
            {
                languageData.GetContent("Report_Remarques"),
                languageData.GetContent("Report_Reason")
            });

            pdfGen.CreatePage();

            pdfGen.AddTitle(languageData.GetContent("Page18_Section1_Title"), 0);

            pdfGen.AddDefaultBoldText(languageData.GetContent("Page18_Section1_Line1"), 100, 500, 20, 80);
            pdfGen.AddBlueBorder(130, 35, 200, 170);

            //Ne pas afficher si signature electronique
            if (forceDownload)
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page18_Section1_Line2"), 135, 200, 20, 45);
                pdfGen.AddDefaultText(languageData.GetContent("Page18_Section1_Line3"), 145, 145, 20, 45);
                pdfGen.AddDefaultText(languageData.GetContent("Page18_Section1_Line4"), 160, 145, 20, 45);
            }

            pdfGen.AddDefaultBoldText(languageData.GetContent("Page18_Section1_Line5"), 100, 500, 20, 340);
            pdfGen.AddBlueBorder(130, 280, 200, 170);

            //Ne pas afficher si signature electronique
            if (forceDownload)
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page18_Section1_Line6"), 135, 200, 20, 290);
                pdfGen.AddDefaultText(languageData.GetContent("Page18_Section1_Line7"), 145, 145, 20, 290);
                pdfGen.AddDefaultText(languageData.GetContent("Page18_Section1_Line8"), 160, 145, 20, 290);
            }

            // Generate pdf
            if (forceDownload)
            {
                string fileName = string.Format("PM_QuestionnaireRecueil_{0}.pdf", idReport);
                pdfGen.GeneratePdfToWeb(fileName);
            }
            else
            {
                pdfGen.GeneratePdf(pathFilename);
            }

            Int32 pageCount = pdfGen.PageCount;
            pdfGen = null;
            return pageCount;
        }
        private static void GenerateEmptyValeursImmobilieresTable(FoxitPDFGenerator pdfGen, float y, float x = 0, int nbLignes = 10)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_066"), languageDataPP.GetContent("PdfReportPP_067"), languageDataPP.GetContent("PdfReportPP_068"), languageDataPP.GetContent("PdfReportPP_069"), languageDataPP.GetContent("PdfReportPP_085"), languageDataPP.GetContent("PdfReportPP_086"), languageDataPP.GetContent("PdfReportPP_087"), languageDataPP.GetContent("PdfReportPP_070"), languageDataPP.GetContent("PdfReportPP_079") };
            List<float> colsWidth = new List<float>() { 60, 60f, 50, 50, 65, 60, 60, 60f, 60 };
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();

            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();

                for (int j = 1; j <= colsNames.Count; j++)
                {
                    data[i].Add("");
                }
            }

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 5) * 40, x, 40);
        }
        private static Double GenerateValeursImmobilieresTable(FoxitPDFGenerator pdfGen, int nbLignes, Data.Model.Report report, float y, float x = 0, int debutLigne = 0, Double sommefinale = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_066"), languageDataPP.GetContent("PdfReportPP_067"), languageDataPP.GetContent("PdfReportPP_068"), languageDataPP.GetContent("PdfReportPP_069"), languageDataPP.GetContent("PdfReportPP_085"), languageDataPP.GetContent("PdfReportPP_086"), languageDataPP.GetContent("PdfReportPP_087"), languageDataPP.GetContent("PdfReportPP_070"), languageDataPP.GetContent("PdfReportPP_079") };
            List<float> colsWidth = new List<float>() { 60, 60f, 50, 50, 65, 60, 60, 60f, 60 };
            List<ReportOptionAttributeValue> dataLiquidites = new List<ReportOptionAttributeValue>();
            dataLiquidites = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 203).OrderBy(roav => roav.idReportOptionAttributeValue).ToList();
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            //int nbLignes = 21;
            double sommeCurrentValue = 0, d;
            //int nbLignes = debutLigne == 0 ? 10 : 21;
            //int nbLignes = 21;

            int nbLigneAafficher = 0;
            // parcours des lignes
            for (int i = debutLigne; i < nbLignes; i++)
            {
                // lignes des données
                if (i <= nbLignes - 2 && i < dataLiquidites.Count())
                {
                    /*
                    * TESTER LA PREMIERE COLONNE DE CHAQUE LIGNE; 
                    * SI ELLE EST VIDE C'EST A DIRE QUE CETTE LIGNE NE SERA PAS AFFICHEE
                    */
                    string Description = Convert.ToString(dataLiquidites[i].CustomObjectValue.Description);
                    if (!string.IsNullOrEmpty(Description))
                    {
                        if (nbLigneAafficher == 12)
                        {
                            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLigneAafficher + 5) * 40, x, 40);
                            pdfGen.CreatePage();
                            data = new Dictionary<int, List<string>>();
                            y = 0;
                            nbLigneAafficher = 0;
                        }
                        nbLigneAafficher++;

                        data.Add(i, new List<string>());
                        data[i] = new List<string>();

                        // parcours des colonnes
                        for (int j = 1; j <= colsNames.Count; j++)
                        {
                            if (dataLiquidites.Count >= i + 1)
                            {
                                switch (j)
                                {
                                    case 1:
                                        Description = Convert.ToString(dataLiquidites[i].CustomObjectValue.Description);
                                        data[i].Add(Description);
                                        break;
                                    case 2:
                                        string Organization = Convert.ToString(dataLiquidites[i].CustomObjectValue.Organization);
                                        data[i].Add(Organization);
                                        break;
                                    case 3:
                                        string CurrentValue = Convert.ToString(dataLiquidites[i].CustomObjectValue.CurrentValue);
                                        data[i].Add(CurrentValue);
                                        if (Double.TryParse(CurrentValue.Replace(".", ","), out d))
                                            sommeCurrentValue += d;
                                        break;
                                    case 4:
                                        string Holder = Convert.ToString(dataLiquidites[i].CustomObjectValue.Holder);
                                        data[i].Add(Holder);
                                        break;
                                    case 5:
                                        string SouscriptionDate = Convert.ToString(dataLiquidites[i].CustomObjectValue.SubscriptionDate);
                                        data[i].Add(SouscriptionDate);
                                        break;
                                    case 6:
                                        string AnnualRendement = Convert.ToString(dataLiquidites[i].CustomObjectValue.AnnualYield);
                                        data[i].Add(AnnualRendement);
                                        break;
                                    case 7:
                                        string Beneficiary = Convert.ToString(dataLiquidites[i].CustomObjectValue.Beneficiary);
                                        data[i].Add(Beneficiary);
                                        break;
                                    case 8:
                                        string Source = Convert.ToString(dataLiquidites[i].CustomObjectValue.Source);
                                        data[i].Add(Source);
                                        break;
                                    case 9:
                                        data[i].Add(GetEnumValue(Convert.ToString(dataLiquidites[i].CustomObjectValue.Country), 10));
                                        break;
                                }
                            }
                            else
                            {
                                data[i].Add("");
                            }
                        }
                    }
                }

                if (i == nbLignes - 1)
                {
                    data.Add(i, new List<string>());
                    data[i] = new List<string>();
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        switch (j)
                        {
                            case 2:
                                data[i].Add(LanguageContentBL.Translate("libelle_total"));
                                break;
                            case 3:
                                {
                                    if (sommefinale == 0)
                                        data[i].Add(sommeCurrentValue.ToString());
                                    else
                                        data[i].Add((sommeCurrentValue + sommefinale).ToString());
                                    break;
                                }
                            default:
                                data[i].Add("");
                                break;
                        }
                    }
                }
            }

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLigneAafficher + 5) * 40, x, 40);

            return sommeCurrentValue;
        }
        private static void GenerateTablePatrimoineDivers(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_072"), languageDataPP.GetContent("PdfReportPP_068"), languageDataPP.GetContent("PdfReportPP_069"), languageDataPP.GetContent("PdfReportPP_070"), languageDataPP.GetContent("PdfReportPP_073"), languageDataPP.GetContent("PdfReportPP_074"), languageDataPP.GetContent("PdfReportPP_075"), languageDataPP.GetContent("PdfReportPP_076") };
            List<float> colsWidth = new List<float>() { 80, 50, 50, 60, 60, 60, 80, 60 };
            List<int> lstIdOption = new List<int>() { 207, 208, 209, 210, 211, 212, 213, 214 };
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            List<ReportOptionAttributeValue> dataDivers = new List<ReportOptionAttributeValue>();

            int nbLignes = 9;
            Double somme = 0, d;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                if (i <= 7)
                {
                    dataDivers = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == lstIdOption[i]).ToList();
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        if (j == 1)
                            data[i].Add("");
                        else
                        {
                            if (dataDivers.Count > 0)
                            {
                                switch (j)
                                {
                                    case 2:
                                        string CurrentValue = Convert.ToString(dataDivers[0].CustomObjectValue.CurrentValue);
                                        data[i].Add(CurrentValue);
                                        if (double.TryParse(CurrentValue.Replace(".", ","), out d))
                                            somme += d;
                                        break;
                                    case 3:
                                        data[i].Add(Convert.ToString(dataDivers[0].CustomObjectValue.Holder));
                                        break;
                                    case 4:
                                        data[i].Add(Convert.ToString(dataDivers[0].CustomObjectValue.Source));
                                        break;
                                    case 5:
                                        data[i].Add(Convert.ToString(dataDivers[0].CustomObjectValue.Details));
                                        break;
                                    case 6:
                                        data[i].Add(Convert.ToString(dataDivers[0].CustomObjectValue.Description));
                                        break;
                                    case 7:
                                        string generateIncome = Convert.ToString(dataDivers[0].CustomObjectValue.GenerateIncome);
                                        if (!string.IsNullOrEmpty(generateIncome))
                                        {
                                            if (generateIncome == "1")
                                                generateIncome = LanguageContentBL.Translate("Report_Symbol_Yes");
                                            else if (generateIncome == "2")
                                                generateIncome = LanguageContentBL.Translate("Report_Symbol_No");
                                        }
                                        data[i].Add(generateIncome);
                                        break;
                                    case 8:
                                        data[i].Add(GetEnumValue(Convert.ToString(dataDivers[0].CustomObjectValue.Country), 10));
                                        break;
                                }

                            }
                            else
                            {
                                data[i].Add("");
                            }
                        }
                    }

                }
                else
                {
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        switch (j)
                        {
                            case 1:
                                data[i].Add(LanguageContentBL.Translate("libelle_total"));
                                break;
                            case 2:
                                if (report.IsEmptyReport)
                                    data[i].Add(string.Empty);
                                else
                                    data[i].Add(somme.ToString());
                                break;
                            default:
                                data[i].Add("");
                                break;
                        }
                    }
                }
            }

            data[0][0] = languageDataPP.GetContent("PdfReportPP_453");
            data[1][0] = languageDataPP.GetContent("PdfReportPP_454");
            data[2][0] = languageDataPP.GetContent("PdfReportPP_455");
            data[3][0] = languageDataPP.GetContent("PdfReportPP_456");
            data[4][0] = languageDataPP.GetContent("PdfReportPP_457");
            data[5][0] = languageDataPP.GetContent("PdfReportPP_458");
            data[6][0] = languageDataPP.GetContent("PdfReportPP_459");
            data[7][0] = languageDataPP.GetContent("PdfReportPP_460");

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 5) * 40, x, 40);
        }
        private static void GenerateEmptyPatrimoineProfessionnelTable(FoxitPDFGenerator pdfGen, float y, float x = 0, int nbLignes = 10)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_066"), languageDataPP.GetContent("PdfReportPP_069"), languageDataPP.GetContent("PdfReportPP_077"), languageDataPP.GetContent("PdfReportPP_078"), languageDataPP.GetContent("PdfReportPP_070"), languageDataPP.GetContent("PdfReportPP_079_1") };
            List<float> colsWidth = new List<float>() { 80, 80, 80, 100, 80, 80 };
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();

                for (int j = 1; j <= colsNames.Count; j++)
                {

                    data[i].Add("");
                }
            }
            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 5) * 40, x, 40);
        }
        private static void GenerateProjetInvestissementTable(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { "", languageDataPP.GetContent("PdfReportPP_048"), languageDataPP.GetContent("PdfReportPP_411"), languageDataPP.GetContent("PdfReportPP_412"), languageDataPP.GetContent("PdfReportPP_413") };
            List<string> rowsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_414"), languageDataPP.GetContent("PdfReportPP_415"), languageDataPP.GetContent("PdfReportPP_416") };
            List<float> colsWidth = new List<float>() { 130, 60, 70, 150, 90 };
            List<int> lstIdOption = new List<int>() { 226, 227, 228 };
            List<ReportOptionAttributeValue> dataProjetsInv = new List<ReportOptionAttributeValue>();

            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            int nbLignes = 4;
            double somme = 0, d;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                if (i <= 2)
                {
                    dataProjetsInv = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == lstIdOption[i]).ToList();
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        if (j == 1)
                        {
                            data[i].Add(rowsNames[i]);
                        }
                        else
                        {
                            if (dataProjetsInv.Count > 0)
                            {
                                switch (j)
                                {
                                    case 2:
                                        var amount = Convert.ToString(dataProjetsInv[0].CustomObjectValue.Amount);
                                        data[i].Add(amount);
                                        if (double.TryParse(amount.Replace(".", ","), out d))
                                            somme += d;
                                        break;
                                    case 3:
                                        data[i].Add(Convert.ToString(dataProjetsInv[0].CustomObjectValue.Horizon));
                                        break;
                                    case 4:
                                        data[i].Add(Convert.ToString(dataProjetsInv[0].CustomObjectValue.Description));
                                        break;
                                    case 5:
                                        data[i].Add(Convert.ToString(dataProjetsInv[0].CustomObjectValue.Country));
                                        break;
                                }
                            }
                            else
                            {
                                data[i].Add("");
                            }
                        }
                    }
                }
                else
                {
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        switch (j)
                        {
                            case 1:
                                data[i].Add(LanguageContentBL.Translate("libelle_total"));
                                break;
                            case 3:
                            case 4:
                            case 5:
                                data[i].Add("");
                                break;
                            case 2:
                                if (report.IsEmptyReport)
                                    data[i].Add(string.Empty);
                                else
                                    data[i].Add(Convert.ToString(somme));
                                break;
                        }
                    }
                }
            }

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 3) * 20, true, true, x, 10);

        }
        private static void GenerateDetailRevenuTable(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_047"), languageDataPP.GetContent("PdfReportPP_048"), languageDataPP.GetContent("PdfReportPP_050"), languageDataPP.GetContent("PdfReportPP_051"), languageDataPP.GetContent("PdfReportPP_052") };// languageDataPP.GetContent("PdfReportPP_049"),
            List<float> colsWidth = new List<float>() { 150, 70, 70, 140, 80 };
            List<int> lstIdOption = new List<int>() { 194, 195, 774, 196, 197, 198, 199 };

            List<ReportOptionAttributeValue> dataRevenusDetails = new List<ReportOptionAttributeValue>();
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            int nbLignes = 8;
            double somme = 0, d;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                if (i <= 6)
                {
                    dataRevenusDetails = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == lstIdOption[i]).ToList();
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        if (j == 1)
                        {
                            data[i].Add("");
                        }
                        else
                        {
                            if (dataRevenusDetails.Count > 0)
                            {
                                switch (j)
                                {
                                    case 2:
                                        string Amount = Convert.ToString(dataRevenusDetails[0].CustomObjectValue.Amount);
                                        data[i].Add(Amount);
                                        if (double.TryParse(Amount.Replace(".", ","), out d))
                                            somme += d;
                                        break;
                                    //case 3:
                                    //    data[i].Add(GetEnumValue(Convert.ToString(dataRevenusDetails[0].CustomObjectValue.RecievedPaid), 2));
                                    //    break;
                                    case 3:
                                        data[i].Add(GetEnumValue(Convert.ToString(dataRevenusDetails[0].CustomObjectValue.Frequency), 3));
                                        break;
                                    case 4:
                                        string Details = Convert.ToString(dataRevenusDetails[0].CustomObjectValue.Details);
                                        data[i].Add(Details);
                                        break;
                                    case 5:
                                        string Dates = Convert.ToString(dataRevenusDetails[0].CustomObjectValue.Dates);
                                        data[i].Add(Dates);
                                        break;
                                }
                            }
                            else
                            {
                                data[i].Add("");
                            }

                        }
                    }
                }
                else
                {
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        switch (j)
                        {
                            case 1:
                                data[i].Add(LanguageContentBL.Translate("libelle_total"));
                                break;
                            case 2:
                                if (report.IsEmptyReport)
                                    data[i].Add(string.Empty);
                                else
                                    data[i].Add(somme.ToString());
                                break;
                            default:
                                data[i].Add("");
                                break;
                        }
                    }
                }

            }

            data[0][0] = languageDataPP.GetContent("PdfReportPP_053");
            data[1][0] = languageDataPP.GetContent("PdfReportPP_054");
            data[2][0] = languageDataPP.GetContent("PdfReportPP_RevenusFonciers");
            data[3][0] = languageDataPP.GetContent("PdfReportPP_055");
            data[4][0] = languageDataPP.GetContent("PdfReportPP_056");
            data[5][0] = languageDataPP.GetContent("PdfReportPP_057");
            data[6][0] = languageDataPP.GetContent("PdfReportPP_058");

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 5) * 24, x, 24);
        }
        private static void GenerateEngagementsEncoursTable(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { "", languageDataPP.GetContent("PdfReportPP_137"), languageDataPP.GetContent("PdfReportPP_138"), languageDataPP.GetContent("PdfReportPP_139") };
            List<string> rowsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_140"), languageDataPP.GetContent("PdfReportPP_142"), languageDataPP.GetContent("PdfReportPP_143"), languageDataPP.GetContent("PdfReportPP_144"), languageDataPP.GetContent("PdfReportPP_145"), languageDataPP.GetContent("PdfReportPP_146"), languageDataPP.GetContent("PdfReportPP_147"), languageDataPP.GetContent("PdfReportPP_148") };

            List<int> lstIdOption = new List<int>() { 217, 219, 220, 221, 222, 223, 224, 225 };
            List<float> colsWidth = new List<float>() { 150, 90, 80, 180 };
            List<ReportOptionAttributeValue> dataEngagements = new List<ReportOptionAttributeValue>();

            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            double somme = 0, d;
            int nbLignes = 9;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                if (i <= 7)
                {

                    dataEngagements = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == lstIdOption[i]).ToList();

                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        if (j == 1)
                        {
                            data[i].Add(rowsNames[i]);
                        }
                        else
                        {
                            if (dataEngagements.Count > 0)
                            {
                                switch (j)
                                {
                                    case 2:
                                        var AnnualExpenditure = Convert.ToString(dataEngagements[0].CustomObjectValue.AnnualExpenditure);
                                        data[i].Add(AnnualExpenditure);
                                        if (Double.TryParse(AnnualExpenditure.Replace(".", ","), out d))
                                            somme += d;
                                        break;
                                    case 3:
                                        data[i].Add(Convert.ToString(dataEngagements[0].CustomObjectValue.Maturity));
                                        break;
                                    case 4:
                                        data[i].Add(Convert.ToString(dataEngagements[0].CustomObjectValue.Details));
                                        break;
                                }
                            }
                            else
                            {
                                data[i].Add("");
                            }
                        }
                    }
                }
                else
                {
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        switch (j)
                        {
                            case 1:
                                data[i].Add(LanguageContentBL.Translate("libelle_total"));
                                break;
                            case 2:
                                if (report.IsEmptyReport)
                                    data[i].Add(string.Empty);
                                else
                                    data[i].Add(Convert.ToString(somme));
                                break;
                            case 3:
                            case 4:
                                data[i].Add("");
                                break;
                        }
                    }
                }
            }

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 2) * 20, true, true, x, 10);

        }
示例#10
0
        private static void BuilImpotsEtTaxesTable(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            var currentYear = DateTime.Now.Year;

            List<string> colsNames = new List<string>() 
            { 
                languageDataPP.GetContent("PdfReportPP_448"), 
                string.Format(languageDataPP.GetContent("PdfReportPP_449"), currentYear), 
                string.Format(languageDataPP.GetContent("PdfReportPP_450"), currentYear - 1), 
                string.Format(languageDataPP.GetContent("PdfReportPP_451"), currentYear - 2),
                languageDataPP.GetContent("PdfReportPP_452")
            };

            List<float> colsWidth = new List<float>() { 150, 87.5f, 87.5f, 87.5f, 87.5f };
            List<ReportOptionAttributeValue> dataLiquidites = new List<ReportOptionAttributeValue>();

            dataLiquidites = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 216).OrderBy(roav => roav.idReportOptionAttributeValue).ToList();
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            int nbLignes = 11;
            Double ImpotCurrentYear = 0, ImpotYear1 = 0, ImpotYear2 = 0;
            Double d = 0;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                if (i <= 9)
                {
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        if (dataLiquidites.Count >= i + 1)
                        {
                            switch (j)
                            {
                                case 1:
                                    data[i].Add(Convert.ToString(dataLiquidites[i].CustomObjectValue.Designation));
                                    break;
                                case 2:
                                    var currentAmount = Convert.ToString(dataLiquidites[i].CustomObjectValue.CurrentAmount);
                                    data[i].Add(currentAmount);
                                    if (Double.TryParse(currentAmount.Replace(".", ","), out d))
                                        ImpotCurrentYear += d;
                                    break;
                                case 3:
                                    var Year1Amount = Convert.ToString(dataLiquidites[i].CustomObjectValue.Year1Amount);
                                    data[i].Add(Year1Amount);
                                    if (Double.TryParse(Year1Amount.Replace(".", ","), out d))
                                        ImpotYear1 += d;
                                    break;
                                case 4:
                                    var Year2Amount = Convert.ToString(dataLiquidites[i].CustomObjectValue.Year2Amount);
                                    data[i].Add(Year2Amount);
                                    if (Double.TryParse(Year2Amount.Replace(".", ","), out d))
                                        ImpotYear2 += d;
                                    break;
                                case 5:
                                    data[i].Add(Convert.ToString(dataLiquidites[i].CustomObjectValue.ShareCount));
                                    break;
                            }
                        }
                        else
                        {
                            data[i].Add("");
                        }
                    }
                }
                else
                {
                    for (int j = 1; j <= colsNames.Count; j++)
                    {
                        switch (j)
                        {
                            case 1:
                                data[i].Add(LanguageContentBL.Translate("libelle_total"));
                                break;
                            case 5:
                                data[i].Add("");
                                break;
                            case 2:
                                if (report.IsEmptyReport)
                                    data[i].Add(string.Empty);
                                else
                                    data[i].Add(Convert.ToString(ImpotCurrentYear));
                                break;
                            case 3:
                                if (report.IsEmptyReport)
                                    data[i].Add(string.Empty);
                                else
                                    data[i].Add(Convert.ToString(ImpotYear1));
                                break;
                            case 4:
                                if (report.IsEmptyReport)
                                    data[i].Add(string.Empty);
                                else
                                    data[i].Add(Convert.ToString(ImpotYear2));
                                break;
                        }
                    }
                }

            }

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 2) * 20, x);
        }
示例#11
0
        private static void GenerateCreditsTable(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { "", "", "", "", "", "" };
            List<string> rowsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_433"), languageDataPP.GetContent("PdfReportPP_434"), languageDataPP.GetContent("PdfReportPP_435"), languageDataPP.GetContent("PdfReportPP_436"), languageDataPP.GetContent("PdfReportPP_437"),
            languageDataPP.GetContent("PdfReportPP_438"),languageDataPP.GetContent("PdfReportPP_Rate"),languageDataPP.GetContent("PdfReportPP_439"),languageDataPP.GetContent("PdfReportPP_440"),languageDataPP.GetContent("PdfReportPP_441"), languageDataPP.GetContent("PdfReportPP_442"),languageDataPP.GetContent("PdfReportPP_443"),
            languageDataPP.GetContent("PdfReportPP_444"),languageDataPP.GetContent("PdfReportPP_445"),languageDataPP.GetContent("PdfReportPP_446"),languageDataPP.GetContent("PdfReportPP_447")};
            List<float> colsWidth = new List<float>() { 100, 80, 80, 80, 80, 80 };
            List<ReportOptionAttributeValue> dataLiquidites = new List<ReportOptionAttributeValue>();
            dataLiquidites = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 215).OrderBy(roav => roav.idReportOptionAttributeValue).ToList();
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            int nbLignes = 16;
            Double sommeCapitalEmprunte = 0;
            Double sommeCapitalRestant = 0;
            Double sommeValeurActuelle = 0;
            Double sommeValeurAcquisition = 0;
            Double sommeRevenuMensuel = 0;
            Double sommeRemboursementMensuel = 0;
            double d;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                for (int j = 0; j < colsNames.Count; j++)
                {
                    if (j == 0)
                    {
                        data[i].Add(rowsNames[i]);
                    }
                    else
                        data[i].Add("");
                }
            }
            int nbLigneEffective = 4;
            for (int j = 0; j < nbLigneEffective; j++)
            {
                if (dataLiquidites.Count >= j + 1)
                {
                    for (int i = 0; i < nbLignes; i++)
                    {
                        switch (i)
                        {
                            case 0:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.Borrower);
                                break;
                            case 1:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.PurposeOfCredit);
                                break;
                            case 2:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.Lender);
                                break;
                            case 3:
                                var BorrowedCapital = Convert.ToString(dataLiquidites[j].CustomObjectValue.BorrowedCapital);
                                data[i][j + 1] = BorrowedCapital;
                                if (Double.TryParse(BorrowedCapital.Replace(".", ","), out d))
                                    sommeCapitalEmprunte += d;
                                break;
                            case 4:
                                var OutstandingCapital = Convert.ToString(dataLiquidites[j].CustomObjectValue.OutstandingCapital);
                                data[i][j + 1] = OutstandingCapital;
                                if (Double.TryParse(OutstandingCapital.Replace(".", ","), out d))
                                    sommeCapitalRestant += d;
                                break;
                            case 5:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.Duration);
                                break;
                            case 6:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.Rate);
                                break;
                            case 7:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.TypeOfLoan);
                                break;
                            case 8:
                                var CurrentValue = Convert.ToString(dataLiquidites[j].CustomObjectValue.CurrentValue);
                                data[i][j + 1] = CurrentValue;
                                if (Double.TryParse(CurrentValue.Replace(".", ","), out d))
                                    sommeValeurActuelle += d;
                                break;
                            case 9:
                                var AcquiredValue = Convert.ToString(dataLiquidites[j].CustomObjectValue.AcquiredValue);
                                data[i][j + 1] = AcquiredValue;
                                if (Double.TryParse(AcquiredValue.Replace(".", ","), out d))
                                    sommeValeurAcquisition += d;
                                break;
                            case 10:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.DateAcquired);
                                break;
                            case 11:
                                var NetMonthlyIncome = Convert.ToString(dataLiquidites[j].CustomObjectValue.NetMonthlyIncome);
                                data[i][j + 1] = NetMonthlyIncome;
                                if (Double.TryParse(NetMonthlyIncome.Replace(".", ","), out d))
                                    sommeRevenuMensuel += d;
                                break;
                            case 12:
                                var MonthlyRepayment = Convert.ToString(dataLiquidites[j].CustomObjectValue.MonthlyRepayment);
                                data[i][j + 1] = MonthlyRepayment;
                                if (Double.TryParse(MonthlyRepayment.Replace(".", ","), out d))
                                    sommeRemboursementMensuel += d;
                                break;
                            case 13:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.OwnerName);
                                break;
                            case 14:
                                data[i][j + 1] = GetEnumValue(Convert.ToString(dataLiquidites[j].CustomObjectValue.Country), 10);
                                break;
                            case 15:
                                data[i][j + 1] = Convert.ToString(dataLiquidites[j].CustomObjectValue.Details);
                                break;
                        }
                    }
                }
            }
            if (report.IsEmptyReport)
            {
                data[3][5] = data[4][5] = data[8][5] = data[9][5] = data[11][5] = data[12][5] = string.Empty;
            }
            else
            {
                data[0][5] = LanguageContentBL.Translate("libelle_total");
                data[3][5] = Convert.ToString(sommeCapitalEmprunte);
                data[4][5] = Convert.ToString(sommeCapitalRestant);

                data[8][5] = Convert.ToString(sommeValeurActuelle);
                data[9][5] = Convert.ToString(sommeValeurAcquisition);

                data[11][5] = Convert.ToString(sommeRevenuMensuel);
                data[12][5] = Convert.ToString(sommeRemboursementMensuel);
            }

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 5) * 30, false, false, x, 20);

        }
示例#12
0
        private static void GenerateActionnairesTable(FoxitPDFGenerator pdfGen, Data.Model.Report report, float y, float x = 0)
        {
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            List<string> colsNames = new List<string>() { languageDataPP.GetContent("PdfReportPP_465"), languageDataPP.GetContent("PdfReportPP_464"), languageDataPP.GetContent("PdfReportPP_466") };
            List<float> colsWidth = new List<float>() { 100, 250, 150 };
            List<ReportOptionAttributeValue> dataActionnaires = new List<ReportOptionAttributeValue>();

            dataActionnaires = report.ReportOptionAttributeValue.Where(roav => roav.idOptionAttribute == 177).OrderBy(roav => roav.idReportOptionAttributeValue).ToList();
            Dictionary<int, List<string>> data = new Dictionary<int, List<string>>();
            int nbLignes = 10;
            for (int i = 0; i < nbLignes; i++)
            {
                data.Add(i, new List<string>());
                data[i] = new List<string>();
                for (int j = 1; j <= colsNames.Count; j++)
                {
                    if (i < dataActionnaires.Count)
                    {
                        switch (j)
                        {
                            case 1:
                                string HoldingValue = Convert.ToString(dataActionnaires[i].CustomObjectValue.HoldingValue);
                                data[i].Add(HoldingValue);
                                break;
                            case 2:
                                string CompanyName = Convert.ToString(dataActionnaires[i].CustomObjectValue.CompanyName);
                                data[i].Add(CompanyName);
                                break;
                            case 3:
                                string PlaceOfTrading = Convert.ToString(dataActionnaires[i].CustomObjectValue.PlaceOfTrading);
                                data[i].Add(PlaceOfTrading);
                                break;
                        }
                    }
                    else
                    {
                        data[i].Add("");
                    }
                }
            }

            pdfGen.AddTable(colsNames, colsWidth, data, y, colsWidth.Sum(), (nbLignes + 1) * 20, x);

        }
        public static void GenerateInvoiceForSubscription(Subscription subscription, FirmInstitution firm, string pDirectory, string pLogoPath, out string pFactName, DateTime? dateUpdated = null)
        {
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();
            pdfGen.AddImage(pLogoPath, 0, 10);
            string sdateUpdated = dateUpdated.HasValue ? dateUpdated.Value.ToShortDateString() : subscription.IsPaid ? DateTime.Now.ToShortDateString() : string.Empty;

            if (!string.IsNullOrEmpty(sdateUpdated))
                pdfGen.AddLabelArial(string.Format(LanguageContentBL.Translate("PdfBill_001"), sdateUpdated), 400, 30, 150, 12);
            //pdfGen.AddLabelArialBold("UPSIDEO\n", 400, 30, 150, 12);
            //pdfGen.AddLabelArial("89 Boulevard Malesherbes\n75008 PARIS\nFRANCE\[email protected]", 400, 40, 150, 100);

            Dictionary<int, string[]> dataFacturation = new Dictionary<int, string[]>();
            string[] columnsFacturation = { LanguageContentBL.Translate("PdfBill_002") };
            StringBuilder sbAdresse = new StringBuilder();
            sbAdresse.Append(string.Format("\n{0}\n", firm.FirmInstitutionName));
            sbAdresse.Append(string.Format("{0}\n", firm.FirmStreet));
            sbAdresse.Append(string.Format("{0} {1}\n", firm.FirmPostCode, firm.FirmCity));

            int i = 0;
            string[] adresseLine = { sbAdresse.ToString() };
            dataFacturation.Add(i++, adresseLine);

            pdfGen.AddTable1(columnsFacturation, dataFacturation, 0, 200, 500, 300, 11, false);

            // Generation du tableau de la facture
            // Entete 1
            string[] ColumnsEntete = { string.Format(LanguageContentBL.Translate("PdfBill_003"), subscription.DateCreated.ToString("ddMMyyyy"), subscription.IdSubscription), string.Format(LanguageContentBL.Translate("PdfBill_004"), DateTime.Now.ToShortDateString()) };
            pdfGen.AddEnteteTable(ColumnsEntete, 0, 325, 510, 20, 11);

            //Entete 2
            i = 0;
            string[] columns = { LanguageContentBL.Translate("PdfBill_005"), LanguageContentBL.Translate("PdfBill_006"), LanguageContentBL.Translate("PdfBill_007"), LanguageContentBL.Translate("PdfBill_008") };

            Dictionary<int, string[]> data = new Dictionary<int, string[]>();

            //TODO
            string licenseInvoiceLineLabel = string.Empty;

            //Display license : autre que renouvellement renouvellement
            if (subscription.UserCount > 0)
            {
                string applicationName = (!string.IsNullOrEmpty(subscription.Application)) ? subscription.Application : string.Empty;
                licenseInvoiceLineLabel = string.Format(LanguageContentBL.Translate("PdfBill_009"), subscription.UserCount, applicationName, subscription.Duration.Value, subscription.Duration.Value == 1 ? LanguageContentBL.Translate("PdfBill_011_1") : LanguageContentBL.Translate("PdfBill_011_2"));

                string[] applicationLine = { licenseInvoiceLineLabel
                                             , subscription.UserCount.ToString()
                                             , string.Format(LanguageContentBL.Translate("PdfBill_010"), (subscription.ApplicationCost / (decimal)subscription.UserCount))
                                             , string.Format(LanguageContentBL.Translate("PdfBill_010"),subscription.ApplicationCost)};

                data.Add(i++, applicationLine);
            }

            //Display license : Cas renouvellement
            if (subscription.Product.Contains(SouscriptionBL.Product_Type_renouvellement))
            {
                IList<Data.Model.License> licencesToRenew = SouscriptionBL.GetLicensesToRenewByIdSubscription(subscription.IdSubscription);
                subscription.LicensesToRenew = licencesToRenew.ToList();

                //Cas superadmin
                if (subscription.LicensesToRenewGroupedByApplicationType == null)
                {
                    subscription = SouscriptionBL.GroupLicencesToRenewByApplicationType(subscription);
                }

                foreach (var lic in subscription.LicensesToRenewGroupedByApplicationType)
                {
                    int licensesCount = lic.Licences.Count;

                    if (licensesCount > 0)
                    {
                        //licenseInvoiceLineLabel = string.Format("{0} licence(s) {1}", lic.Licences.Count, lic.ApplicationType);
                        licenseInvoiceLineLabel = string.Format(LanguageContentBL.Translate("PdfBill_009"), lic.Licences.Count, lic.ApplicationType, subscription.Duration.Value, subscription.Duration.Value == 1 ? LanguageContentBL.Translate("PdfBill_011_1") : LanguageContentBL.Translate("PdfBill_011_2"));

                        decimal? applicationCost = 0;
                        if (lic.ApplicationType == SouscriptionBL.ReportLabApplication.ToString())
                        {
                            applicationCost = subscription.RenewReportLabCost;
                        }
                        else if (lic.ApplicationType == SouscriptionBL.ReportApplication.ToString())
                        {
                            applicationCost = subscription.RenewReportCost;
                        }
                        else if (lic.ApplicationType == SouscriptionBL.LabApplication.ToString())
                        {
                            applicationCost = subscription.RenewLabCost;
                        }

                        if (applicationCost.HasValue && applicationCost.Value > 0)
                        {
                            //appilcationCost = applicationCost :)
                        }
                        else
                        {
                            applicationCost = lic.AmountHT;
                        }

                        string[] applicationLine = { licenseInvoiceLineLabel
                                                     , licensesCount.ToString()
                                                     , string.Format(LanguageContentBL.Translate("PdfBill_010"), (applicationCost.Value / (decimal)licensesCount))
                                                     , string.Format(LanguageContentBL.Translate("PdfBill_010"), applicationCost.Value)};

                        data.Add(i++, applicationLine);
                    }
                }

            }

            #region Reduction parrainage
            //Display reduction
            //if (!string.IsNullOrEmpty(subscription.SponsorshipCode))
            if (!string.IsNullOrEmpty(subscription.SponsorshipCode) || subscription.Reduction > 0)
            {
                string remiseLabel = (subscription.ReductionPercent > 0) ? string.Format(LanguageContentBL.Translate("PdfBill_011"), subscription.ReductionPercent) : LanguageContentBL.Translate("PdfBill_011_0");
                string[] applicationLine = { remiseLabel
                                                 , ""
                                                 , ""
                                                 , string.Format("- "+LanguageContentBL.Translate("PdfBill_010"), subscription.Reduction)};
                data.Add(i++, applicationLine);
            }
            #endregion

            #region Credit
            //Display credit
            if (subscription.CreditNumber > 0)
            {
                string[] creditLine = { string.Format(LanguageContentBL.Translate("PdfBill_012"), subscription.CreditNumber),
                                                subscription.CreditNumber.ToString(),
                                                string.Empty,
                                                string.Format(LanguageContentBL.Translate("PdfBill_010"),subscription.CreditCost)};
                data.Add(i++, creditLine);
            }
            #endregion

            #region Sponsor
            //Display sponsoring²
            if (subscription.IdSponsor.HasValue)
            {
                Sponsor spons = SponsorBL.GetById(subscription.IdSponsor.Value);
                string[] sponsorLine = { string.Format(LanguageContentBL.Translate("PdfBill_sponsor_1"), spons.Name)
                                           , ""
                                           , ""
                                           , string.Format("- "+LanguageContentBL.Translate("PdfBill_010"), subscription.SponsorAmount)};
                data.Add(i++, sponsorLine);
            }
            #endregion

            string[] EmptyLines = { "", "", "", "" };
            data.Add(i++, EmptyLines);

            pdfGen.AddTable2(columns, data, 0, 345, 510, 300, 9, false);

            i = 0;
            Dictionary<int, string[]> AmountData = new Dictionary<int, string[]>();
            string[] htLine = { LanguageContentBL.Translate("PdfBill_008"), string.Format(LanguageContentBL.Translate("PdfBill_010"), subscription.AmountHT) };
            AmountData.Add(i++, htLine);
         
            if (subscription.AmountHT != subscription.TotalAmount)
            {
                decimal taux = ConfigurationManager.ExtranetHostCode == Upsilab.Business.Language.LanguageContentBL.HostCode.FR.ToString() ? ConfigurationManager.TauxTVA : ConfigurationManager.TauxTVABe;
                string[] TauxTvaLine = { LanguageContentBL.Translate("PdfBill_013"), string.Format("{0}%", taux) };
                AmountData.Add(i++, TauxTvaLine);
                string[] TvaLine = { LanguageContentBL.Translate("PdfBill_014"), string.Format(LanguageContentBL.Translate("PdfBill_010"), (subscription.TotalAmount - subscription.AmountHT)) };
                AmountData.Add(i++, TvaLine);
                string[] TTCLine = { LanguageContentBL.Translate("PdfBill_015"), string.Format(LanguageContentBL.Translate("PdfBill_010"), subscription.TotalAmount) };
                AmountData.Add(i++, TTCLine);
            }

            pdfGen.AddTable3(AmountData, 350, 460, 160, 300, 10, false);

            string[] Columns = { "UPSIDEO\n89 Boulevard Malesherbes 75008 PARIS\nTel : 01.44.69.59.80 / Fax : 01.43.87.20.45 \nN° R.C.S. PARIS 538 768 003 " };
            pdfGen.AddTable(null, Columns, -30, 650, 10, 60, false, true, false, 200);


            pFactName = string.Format("FA_{0}_{1}.pdf", subscription.DateCreated.ToString("ddMMyyyy"), subscription.IdSubscription);

            if (!Directory.Exists(pDirectory))
            {
                Directory.CreateDirectory(pDirectory);
            }

            string pathFileName = System.IO.Path.Combine(pDirectory, pFactName);

            if (File.Exists(pathFileName))
            {
                pFactName = string.Format("FA_{0}_{1}_2.pdf", subscription.DateCreated.ToString("ddMMyyyy"), subscription.IdSubscription);
            }

            pdfGen.GeneratePdf(System.IO.Path.Combine(pDirectory, pFactName));

        }