public static void GeneratePM_LAB(IDictionary<LABStudy.SectionEnum, LABStudyModel> dicoLABStudyModel, string pathFileName, bool emptyLAB = false)
        {
            float y = 240;
            int height = 20;
            int width = 500;
            float label_width = 200;
            float answer_width = 280;
            float answer_x = 200;
            float tabCheck = 15;

            LABStudyModel labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Client];
            FirmInstitution firmInstitution = labStudyModel.Customer.FirmInstitution;
            var languageData = PageLanguageHelper.GetLanguageContent("User", "LAB_PDF_PM_Report");

            string currentHostCode = Upsilab.Business.Utility.SessionManager.GetHostCodeSession();
            //Title and footer document
            string documentTitle = "Etude LAB";
            string footerContent = firmInstitution.DocumentFooterContent;

            string name = string.Empty;
            string date = string.Empty;
            if (!emptyLAB)
            {
                name = string.Format("{0}", labStudyModel.Customer.CompanyName);
                date = DateTime.Now.ToShortDateString();
            }
            //FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator(documentTitle, footerContent, name, string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), date));
            //FoxitPDFGenerator pdfGen = new FoxitPDFGenerator(documentTitle, footerContent);
            //FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();

            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

            #region Page 1 : Logo & Title
            //#Page 1 : Title
            //Logo
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(firmInstitution.idFirmInstitution) + firmInstitution.Logo;
            pdfGen.AddLogoOnFirstPage(logoPathFileName, firmInstitution.LogoAlign);
            pdfGen.AddBackgroungImage();

            y = 390;
            //Title
            // pdfGen.AddReceuil_Title_Center_CalibriBold_Label(languageData.GetContent("Report_Title"), y, width, 100);
            // pdfGen.AddReceuil_SubTitle_Center_CalibriBold_Label(languageData.GetContent("Report_Title2"), y += 90, width, height);
            pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title"), y, 310, 80, 200, 16);
            // pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title2"), y += interline * 3.5f, 200, 20, 300, 20);//clients/prospects
            pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title2"), y += interline * 5f, 510, 20, 0, 12);

            pdfGen.AddWhiteBorder(y += interline * 1.7f, 195, 315, 70);
            if (emptyLAB)
            {
                //string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), ""),
                //                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), "") };
                //pdfGen.AddTableTitle(rowContents, 110, y += 40);
            }
            else
            {
                //string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), labStudyModel.LABStudy.DateUpdated.HasValue ? labStudyModel.LABStudy.DateUpdated.Value.ToShortDateString() : labStudyModel.LABStudy.DateCreated.ToShortDateString()),
                //                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), labStudyModel.LABStudy.idLABStudy) };
                //pdfGen.AddTableTitle(rowContents, 110, y += 40);
                pdfGen.AddWhiteTitleLeft(DateTime.Now.ToShortDateString(), y += 10, width + 10, 11, 220, 10);
                pdfGen.AddWhiteTitleLeft(name, y += (interline), width + 10, 11, 220, 10);
                pdfGen.AddWhiteTitleLeft(string.Format("{0}-{1}", languageData.GetContent("Report_Title_Reference"), labStudyModel.LABStudy.idLABStudy), y += (interline), width + 10, 11, 220, 10);
            }
            #endregion

            #region Page identification etablissement
            var languageDataPM = PageLanguageHelper.GetLanguageContent("User", "PDF_PM_Report");
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            pdfGen.CreatePage();
            y = 0;


            pdfGen.AddTitle(languageDataPM.GetContent("Page1_Section1_Title"), 0, 500, 20);

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

            pdfGen.AddDefaultText(languageDataPM.GetContent("Page1_Section1_Name"), y += interline, label_width, height);
            pdfGen.AddAnswer(firmInstitution.LeaderName, y, answer_width, height, answer_x);

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


            if (SessionManager.GetHostCodeSession() == PageLanguageHelper.HostCode.FR.ToString())
            {
                pdfGen.AddDefaultText(languageDataPM.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(languageDataPM.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(languageDataPM.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(languageDataPM.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(languageDataPM.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(languageDataPM.GetContent("Page1_Section1_City"), y += interline, label_width, height);
            pdfGen.AddAnswer(firmInstitution.FirmCity, y, answer_width, height, answer_x);

            #region Conseiller signataire
            string signataireFirstName = string.Empty;
            string signataireName = string.Empty;



            Data.Model.User userAdviser = labStudyModel.Customer.User1;// (report.User != null) ? report.User : report.CustomerProspect.User1;

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

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


            pdfGen.AddDefaultText(String.Format(languageDataPP.GetContent("PdfReportPP_753"), string.Empty, string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(String.Format("{0} {1} {2}", signataireFirstName, signataireName, " (signataire)"), y, answer_width, height, answer_x);


            #endregion

            #endregion

            #region Page 2 : Client : I. identité du client
            //#Page 2 : Client : I. identité du client
            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddTitle(languageData.GetContent("Page2_Title"), y, width, 20);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y += interline * 1.5f, 0, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section1_Line1"), y, width, 20, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y += interline, 0, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section1_Line2"), y, width, 20, tabCheck);

            pdfGen.AddSubtitle(languageData.GetContent("Page2_Section2_Title"), y += interline * 2f, width, 20);

            //Identité
            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line1"), labStudyModel.Customer.CompanyName), y += interline, width, height); //Raison sociale
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line1"), string.Empty), y += interline * 1.5f, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.CompanyName, y, answer_width, 20, answer_x);

            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line2"), labStudyModel.Customer.Sigle), 0, y += interline, width, height); //Sigle
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line2"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.Sigle, y, answer_width, 20, answer_x);

            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line3"), labStudyModel.Customer.NumRCS), 0, y += interline, width, height); //RCS
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line3"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.NumRCS, y, answer_width, 20, answer_x);

            if (currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line4"), labStudyModel.Customer.CityRegistration), 0, y += interline, width, height); //Ville d'enregistrement
                pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line4"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(labStudyModel.Customer.CityRegistration, y, answer_width, 20, answer_x);

                //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line5"), labStudyModel.Customer.NumSIREN), 0, y += interline, width, height); //Siren
                pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line5"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(labStudyModel.Customer.NumSIREN, y, answer_width, 20, answer_x);

                string dateImatr = (labStudyModel.Customer.DateRegistration.HasValue) ? labStudyModel.Customer.DateRegistration.Value.ToString("dd/MM/yyyy") : string.Empty; //Date immatriculation
                // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line6"), dateImatr), 0, y += interline, width, height);
                pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line6"), string.Empty), y += interline, label_width, height);
                pdfGen.AddAnswer(dateImatr, y, answer_width, 20, answer_x);
            }

            //Adresse
            // pdfGen.AddDefaultText(string.Format("{0} : ", languageData.GetContent("Page2_Section2_Line22")), 0, y += interline, width, height);
            //pdfGen.AddDefaultText(string.Format("{0}", labStudyModel.Customer.Adress), 10, y += interline, width, 3 * height);
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line22"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.Adress, y, answer_width, height * 3, answer_x);

            //ZipCode
            //  pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("PDF_LAB_PM_Page2_ZipCode"), labStudyModel.Customer.ZipCode), y += interline * 2.8f, width, height);
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("PDF_LAB_PM_Page2_ZipCode"), string.Empty), y += interline * 2.8f, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.ZipCode, y, answer_width, 20, answer_x);

            //City
            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("PDF_LAB_PM_Page2_Country"), labStudyModel.Customer.City), 0, y += interline, width, height);
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("PDF_LAB_PM_Page2_Country"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.City, y, answer_width, 20, answer_x);

            //Tel
            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line23"), labStudyModel.Customer.User.UserMobilePhone), 0, y += interline, width, height);
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line23"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.User.UserMobilePhone, y, answer_width, 20, answer_x);

            //Fax
            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("PDF_LAB_PM_Fax"), labStudyModel.Customer.Fax), 0, y += interline, width, height);
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("PDF_LAB_PM_Fax"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.Fax, y, answer_width, 20, answer_x);

            //Mail
            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line24"), labStudyModel.Customer.User.UserEmail), 0, y += interline, width, height);
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line24"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.User.UserEmail, y, answer_width, 20, answer_x);

            //Domiciliation
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsResident, y += 20, 0, Boolean.TrueString); //Resident
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line16_Item1"), y, width, height, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsResident, y, 150, Boolean.FalseString); //Non resident
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line16_Item2"), y, width, height, 165);
            pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line17"), labStudyModel.Customer.Country), y += interline, width, height); //Pays de domiciliation
            // pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line17"), string.Empty), y += interline, label_width, height);
            // pdfGen.AddAnswer(labStudyModel.Customer.Country, y, answer_width, 20, answer_x);

            pdfGen.AddBlueBorder(y += interline, 70, width - 100, 105);
            float x = 80;
            //GAFI
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line18"), y += interline, width - 120, height, x);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line19"), y += interline, width - 120, height, x);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Gafi, y += interline, x += 10, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, width, height, x += tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Gafi, y, x += 30, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, width, height, x += tabCheck);

            x = 80;
            //Offshore
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line20"), y += interline, width - 120, height, x);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line21"), y += interline, width - 120, height, x);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.OffShore, y += interline, x += 10, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, width, height, x += tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.OffShore, y, x += 30, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, width, height, x += tabCheck);

            //Forme juridique
            pdfGen.AddDefaultText(String.Format(@"{0} :", languageData.GetContent("Page2_Section2_Line7")), y += 30, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "SA"); //SA
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line8"), y, width, height, tabCheck);
            if (currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "SAS"); //SAS
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line9"), y, width, height, tabCheck);
            }
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "SARL"); //SARL TODO pour BE
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line10"), y, width, height, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "EURL"); //EURL
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line11"), y, width, height, tabCheck);

            if (currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                if (labStudyModel.Customer.LegalForm == "SC_IS")
                    pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "SC_IS"); //Societe civile
                else
                    pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "SC_IR"); //Societe civile

                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line12"), y, width, height, tabCheck);
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y, 300, "SC_IS"); //Societe civile IS
                pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_IS"), y, width, height, 315);
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y, 340, "SC_IR"); //Sociente civile IR
                pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_IR"), y, width, height, 355);
            }

            //Association
            if (labStudyModel.Customer.LegalForm == "Association_IS")
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "Association_IS");
            else
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "Association_IR");

            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line13"), y, width, height, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y, 300, "Association_IS");
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_IS"), y, width, height, 315);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y, 340, "Association_IR");
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_IR"), y, width, height, 355);

            //Autre
            if (labStudyModel.Customer.LegalForm == "Autre_IS")
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "Autre_IS");
            else
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "Autre_IR");

            pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("Page2_Section2_Line14"), labStudyModel.GetOptionAttributeValue(731, 522)), y, width, height, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y, 300, "Autre_IS");
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_IS"), y, width, height, 315);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y, 340, "Autre_IR");
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_IR"), y, width, height, 355);

            //Appartenance à un groupe
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalForm, y += interline, 0, "Appartenance");
            pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line15"), labStudyModel.Customer.LegalForm_Appartenance_Groupe), y, width, height, tabCheck);


            //Societe cotée
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line25"), y += 30, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.ListedCompany, y += interline, 0, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, width, height, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.ListedCompany, y, 50, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, width, height, 50 + tabCheck);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line26"), labStudyModel.Customer.Market), 0, y += 20, width, height); //Sur quel marché
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line26"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.Market, y, answer_width, 20, answer_x);
            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line27"), labStudyModel.GetOptionAttributeValue(746, 529)), 0, y += interline, width, height);
            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line28"), labStudyModel.GetOptionAttributeValue(746, 530)), 0, y += interline, width, height);
            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line29"), labStudyModel.GetOptionAttributeValue(746, 531)), 0, y += interline, width, height);
            #endregion

            #region Page 3 : Secteur d'activités
            pdfGen.CreatePage();

            y = 0;
            //Secteur d'activités
            pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line30"), labStudyModel.Customer.Industry), y += 30, width, height); //Secteur d'activite
            pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line31"), labStudyModel.Customer.OtherIndustry), y += 15, width, height); //Autre secteur
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line32"), y += interline, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.HasIndustryRestriction, y += interline, 0, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, width, height, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.HasIndustryRestriction, y, 50, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, width, height, 50 + tabCheck);

            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line33"), labStudyModel.Customer.IndustryRestriction), y += interline, width, height * 2); //Restriction
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line33"), string.Empty), y += interline, label_width / 2, height);
            pdfGen.AddAnswer(labStudyModel.Customer.IndustryRestriction, y, answer_width, height * 3, answer_x / 2);

            x = 0;
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line34"), y += interline * 3, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.RestrictionPreventInvest, y += interline, x, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes_Caps"), y, width, height, x + tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.RestrictionPreventInvest, y, x = 50, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No_Caps"), y, width, height, x + tabCheck);
            #endregion

            #region Page 4 : Client : II. Personne Morale
            //#Page 3 : Client : II. Personne Morale
            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddSubtitle(languageData.GetContent("Page3_Section1_Title"), y += interline * 2, width, height);

            string[] tableRiskVigilanceYesNo_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No") };
            string[] tableRiskVigilanceYesNoIDK_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No"), languageData.GetContent("TableRiskVigilanceYesNo_Item3") };

            LABAnswer labAnswer = labStudyModel.GetAnswerByIdQuestion(9);
            string[] answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line8"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(10);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line9"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(2);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line1"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(3);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line2"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(4);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(5);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line4"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(6);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line5"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(7);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line6"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);


            //Create new page
            pdfGen.CreatePage();
            y = 0;

            labAnswer = labStudyModel.GetAnswerByIdQuestion(16);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line7"), y, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            #endregion

            #region Page 5 : Client : III. Facteurs de risque aggravé
            //#Page 4 : Client : III. Facteurs de risque aggravé
            //pdfGen.CreatePage();
            pdfGen.AddSubtitle(languageData.GetContent("Page4_Section1_Title"), y += interline * 2, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(17);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1"), y += interline * 2, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(18);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line2"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(19);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(20);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line4"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(21);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line5"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(24);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line8"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(22);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line6"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(23);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line7"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //Create new page
            pdfGen.CreatePage();
            y = 0;

            labAnswer = labStudyModel.GetAnswerByIdQuestion(51);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line9"), y, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 6 : Client : IV. Risques fiscaux
            //#Page 5 : Client : IV. Risques fiscaux
            //pdfGen.CreatePage();

            pdfGen.AddSubtitle(languageData.GetContent("Page5_Section1_Title"), y += interline * 3, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(25);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line1"), y += interline * 2, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(26);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line2"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(27);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line3"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(28);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line4"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(29);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line5"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(30);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line6"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(32);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line8"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 6 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Product];
            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
            }

            y = 0;
            pdfGen.AddTitle(languageData.GetContent("Page6_Section1_Title"), y, width, 20);

            pdfGen.AddSubtitle(languageData.GetContent("Page6_Section1_Title2"), y += interline * 2, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(34);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line1"), y += interline * 2, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(35);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line2"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(36);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line3"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(38);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line5"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(39);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line6"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(40);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line7"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(41);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line8"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(42);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line9"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 8 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            y = 0;
            labAnswer = labStudyModel.GetAnswerByIdQuestion(43);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line1"), y, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(44);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line2"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(45);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(46);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line4"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 9 : Operation : VI. Risques généraux - Risques fiscaux
            //#Page 8 : Operation : VI. Risques généraux / fiscaux
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Operation];
            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

            y = 0;
            pdfGen.AddTitle(languageData.GetContent("Page8_Section1_Title"), y, width, 20);

            pdfGen.AddSubtitle(languageData.GetContent("Page8_Section1_Title2"), y += interline * 2, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(49);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line2"), y += interline * 2, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(50);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            //VII. Risques liés à la distribution des fonds gérés par les sociétés de gestion
            pdfGen.AddSubtitle(languageData.GetContent("Page9_Section1_Title"), y += 5 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(57);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section1_Line3"), y += interline * 2, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(58);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section1_Line4"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 10 : NIVEAU DE RISQUE GLOBAL DU CLIENT
            //#Page 9 : NIVEAU DE RISQUE GLOBAL DU CLIENT            
            pdfGen.CreatePage();

            y = 0;
            //NIVEAU DE RISQUE GLOBAL DU CLIENT            
            pdfGen.AddTitle(languageData.GetContent("Page9_Section2_Title"), y, width, 20);

            string dateUpdated = (labStudyModel.LABStudy.DateUpdated.HasValue) ? labStudyModel.LABStudy.DateUpdated.Value.ToString("dd/MM/yyyy") : labStudyModel.LABStudy.DateCreated.ToString("dd/MM/yyyy");
            string idGlobalRisk = labStudyModel.LABStudy.idRisk.ToString();
            string idGlobalVigilance = labStudyModel.LABStudy.idVigilance.ToString();

            pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("Page9_Section2_Line1"), dateUpdated), y += interline * 2, width, height);


            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "1");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line2"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "2");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line3"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "3");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line4"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "4");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line5"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "5");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line6"), y, width, height, tabCheck);

            //NIVEAU DE VIGILANCE GLOBAL DU CLIENT
            y += 60;
            pdfGen.AddTitle(languageData.GetContent("Page9_Section3_Title"), y, width, 20);

            pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("Page9_Section3_Line1"), dateUpdated), y += 2 * interline, width, height);

            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "1");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line2"), y, width, height, tabCheck);

            if (currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {

                pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "2");
                pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line3"), y, width, height, tabCheck);
            }

            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "3");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line4"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "4");
            if (currentHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line5"), y, width, height * 2, tabCheck);
                //y += 20 * 2;
            }
            else
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line5"), y, width, height, tabCheck);
                //y += 20;
            }

            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "5");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line6"), y, width, height, tabCheck);
            #endregion

            //Force download if pathFileName is not set
            if (string.IsNullOrEmpty(pathFileName))
            {
                pdfGen.GeneratePdfToWeb("LAB_PM.pdf");
            }
            else
            {
                pdfGen.GeneratePdf(pathFileName);
            }
        }
        public static void GeneratePM_LAB(IDictionary<LABStudy.SectionEnum, LABStudyModel> dicoLABStudyModel, string pathFileName, bool emptyLAB = false)
        {
            int y = 160;
            int height = 20;
            int width = 500;

            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();

            LABStudyModel labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Client];
            FirmInstitution firmInstitution = labStudyModel.Customer.FirmInstitution;
            var languageData = PageLanguageHelper.GetLanguageContent("User", "LAB_PDF_PM_Report");

            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

            #region Page 1 : Logo & Title
            //#Page 1 : Title
            //Logo
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(firmInstitution.idFirmInstitution) + firmInstitution.Logo;
            pdfGen.AddLogoOnFirstPage(logoPathFileName);

            //Title
            pdfGen.AddReceuil_Title_Center_CalibriBold_Label(languageData.GetContent("Report_Title"), y, width, 100);
            pdfGen.AddReceuil_SubTitle_Center_CalibriBold_Label(languageData.GetContent("Report_Title2"), y += 100, width, height);

            if (emptyLAB)
            {
                string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), ""),
                                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), "") };
                pdfGen.AddTableTitle(rowContents, 110, y += 80);
            }
            else
            {
                string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), labStudyModel.LABStudy.DateUpdated.HasValue ? labStudyModel.LABStudy.DateUpdated.Value.ToShortDateString() : labStudyModel.LABStudy.DateCreated.ToShortDateString()),
                                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), labStudyModel.LABStudy.idLABStudy) };
                pdfGen.AddTableTitle(rowContents, 110, y += 80);
            }
            #endregion

            #region Page 2 : Client : I. identité du client
            //#Page 2 : Client : I. identité du client
            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page2_Title"), y, width, 20);

            height = 15;
            y += 5;

            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y + height, 0, Boolean.FalseString);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section1_Line1"), 15, y += height, width, 15);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y + height, 0, Boolean.TrueString);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section1_Line2"), 15, y += height, width, 15);

            y += 5;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page2_Section2_Title"), 0, y += height, width, 20);

            //Identité
            y += 5;
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line1"), labStudyModel.GetOptionAttributeValue(718, 516)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line2"), labStudyModel.GetOptionAttributeValue(718, 517)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line3"), labStudyModel.GetOptionAttributeValue(718, 518)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line4"), labStudyModel.GetOptionAttributeValue(718, 519)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line5"), labStudyModel.GetOptionAttributeValue(718, 520)), 0, y += height, width, height);
            var dateImatr = labStudyModel.GetOptionAttributeValue(718, 521);
            dateImatr = (!string.IsNullOrEmpty(dateImatr)) ? dateImatr.Substring(0, 10) : dateImatr;
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line6"), dateImatr), 0, y += height, width, height);

            //Adresse
            pdfGen.AddLabelArial(string.Format("{0} : ", languageData.GetContent("Page2_Section2_Line22")), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0}", labStudyModel.GetOptionAttributeValue(718, 525)), 10, y += height, width, 3 * height);
            //ZipCode
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("PDF_LAB_PM_Page2_ZipCode"), labStudyModel.GetOptionAttributeValue(718, 741)), 0, y += 3 * height, width, height);
            //City
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("PDF_LAB_PM_Page2_Country"), labStudyModel.GetOptionAttributeValue(718, 742)), 0, y += height, width, height);
            //Tel
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line23"), labStudyModel.GetOptionAttributeValue(718, 526)), 0, y += height, width, height);
            //Fax
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("PDF_LAB_PM_Fax"), labStudyModel.GetOptionAttributeValue(718, 751)), 0, y += height, width, height);
            //Mail
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line24"), labStudyModel.GetOptionAttributeValue(718, 527)), 0, y += height, width, height);

            //Domiciliation
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(736), y += 20, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line16_Item1"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(737), y, 150, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line16_Item2"), 165, y, width, height);

            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line17"), labStudyModel.GetOptionAttributeValue(738, 524)), 0, y += height, width, height);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line18"), 0, y += height, width, height);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line19"), 0, y += height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(740), y += height, 25, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_Yes_Caps"), 40, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(741), y, 75, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_No_Caps"), 90, y, width, height);

            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line20"), 0, y += 20, width, height);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line21"), 0, y += height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(743), y += height, 25, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_Yes_Caps"), 40, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(744), y, 75, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_No_Caps"), 90, y, width, height);

            //Forme juridique
            pdfGen.AddLabelArial(String.Format(@"{0} :", languageData.GetContent("Page2_Section2_Line7")), 0, y += 30, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(721), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line8"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(722), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line9"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(723), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line10"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(724), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line11"), 15, y, width, height);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(725), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line12"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(726), y, 300, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_IS"), 315, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(727), y, 340, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_IR"), 355, y, width, height);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(728), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line13"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(729), y, 300, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_IS"), 315, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(730), y, 340, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_IR"), 355, y, width, height);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(731), y += height, 0, "1");
            pdfGen.AddLabelArial(string.Format("{0} {1}", languageData.GetContent("Page2_Section2_Line14"), labStudyModel.GetOptionAttributeValue(731, 522)), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(732), y, 300, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_IS"), 315, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(733), y, 340, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_IR"), 355, y, width, height);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(734), y += height, 0, "1");
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line15"), labStudyModel.GetOptionAttributeValue(734, 523)), 15, y, width, height);

            //Societe cotée
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line25"), 0, y += 30, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(748), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_Yes_Caps"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(749), y, 50, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_No_Caps"), 65, y, width, height);

            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line26"), labStudyModel.GetOptionAttributeValue(746, 528)), 0, y += 20, width, height);
            //pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line27"), labStudyModel.GetOptionAttributeValue(746, 529)), 0, y += height, width, height);
            //pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line28"), labStudyModel.GetOptionAttributeValue(746, 530)), 0, y += height, width, height);
            //pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line29"), labStudyModel.GetOptionAttributeValue(746, 531)), 0, y += height, width, height);
            #endregion

            #region Page 3 : Secteur d'activités
            pdfGen.CreatePage();

            y = 0;
            //Secteur d'activités
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line30"), labStudyModel.GetOptionAttributeValue(751, 532)), 0, y += 30, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line31"), labStudyModel.GetOptionAttributeValue(751, 533)), 0, y += 15, width, height);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line32"), 0, y += height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(753), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_Yes_Caps"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(754), y, 50, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_No_Caps"), 65, y, width, height);

            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line33"), labStudyModel.GetOptionAttributeValue(755, 534)), 0, y += 20, width, height * 2);

            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line34"), 0, y += 2 * height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(757), y += height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_Yes_Caps"), 15, y, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(758), y, 50, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_No_Caps"), 65, y, width, height);
            #endregion

            #region Page 4 : Client : II. Personne Morale
            //#Page 3 : Client : II. Personne Morale
            pdfGen.CreatePage();

            y = 0;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page3_Section1_Title"), 0, y += 2 * height, width, height);

            string[] tableRiskVigilanceYesNo_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No") };
            string[] tableRiskVigilanceYesNoIDK_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No"), languageData.GetContent("TableRiskVigilanceYesNo_Item3") };

            LABAnswer labAnswer = labStudyModel.GetAnswerByIdQuestion(9);
            string[] answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line8"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(10);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line9"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(2);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line1"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(3);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line2"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(4);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(5);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line4"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(6);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line5"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(7);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line6"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(16);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line7"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            #endregion

            #region Page 5 : Client : III. Facteurs de risque aggravé
            //#Page 4 : Client : III. Facteurs de risque aggravé
            pdfGen.CreatePage();

            y = 0;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page4_Section1_Title"), 0, y += 2 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(17);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line1"), 0, y += 2 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(18);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line2"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(19);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(20);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line4"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(21);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line5"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(24);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line8"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(22);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line6"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(23);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line7"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(51);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line9"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 6 : Client : IV. Risques fiscaux
            //#Page 5 : Client : IV. Risques fiscaux
            pdfGen.CreatePage();

            y = 0;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page5_Section1_Title"), 0, y += 2 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(25);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line1"), 0, y += 2 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(26);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line2"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(27);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line3"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(28);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line4"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(29);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line5"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(30);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line6"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(32); 
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line8"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 6 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Product];
            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
            }

            y = 0;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page6_Section1_Title"), y, width, 20);

            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page6_Section1_Title2"), 0, y += 2 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(34);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line1"), 0, y += 2 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(35);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line2"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(36);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line3"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(38);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line5"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(39);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line6"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(40);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line7"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(41);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line8"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(42);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line9"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 8 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            y = 0;
            labAnswer = labStudyModel.GetAnswerByIdQuestion(43);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line1"), 0, y, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(44);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line2"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(45);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(46);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line4"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 9 : Operation : VI. Risques généraux - Risques fiscaux
            //#Page 8 : Operation : VI. Risques généraux / fiscaux
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Operation];
            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

            y = 0;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page8_Section1_Title"), y, width, 20);

            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page8_Section1_Title2"), 0, y += 2 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(49);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line2"), 0, y += 2 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(50);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            //VII. Risques liés à la distribution des fonds gérés par les sociétés de gestion
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page9_Section1_Title"), 0, y += 5 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(57);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section1_Line3"), 0, y += 2 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(58);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section1_Line4"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 10 : NIVEAU DE RISQUE GLOBAL DU CLIENT
            //#Page 9 : NIVEAU DE RISQUE GLOBAL DU CLIENT            
            pdfGen.CreatePage();

            y = 0;           
            //NIVEAU DE RISQUE GLOBAL DU CLIENT            
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page9_Section2_Title"), y, width, 20);

            string dateUpdated = (labStudyModel.LABStudy.DateUpdated.HasValue) ? labStudyModel.LABStudy.DateUpdated.Value.ToString("dd/MM/yyyy") : labStudyModel.LABStudy.DateCreated.ToString("dd/MM/yyyy");
            string idGlobalRisk = labStudyModel.LABStudy.idRisk.ToString();
            string idGlobalVigilance = labStudyModel.LABStudy.idVigilance.ToString();

            pdfGen.AddLabelArial(string.Format("{0} {1}", languageData.GetContent("Page9_Section2_Line1"), dateUpdated), 0, y += 2 * height, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line2"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "2");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line3"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "3");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line4"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "4");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line5"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "5");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line6"), 20, y, width, height);

            //NIVEAU DE VIGILANCE GLOBAL DU CLIENT
            y += 60;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page9_Section3_Title"), y, width, 20);

            pdfGen.AddLabelArial(string.Format("{0} {1}", languageData.GetContent("Page9_Section3_Line1"), dateUpdated), 0, y += 2 * height, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line2"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "2");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line3"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "3");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line4"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "4");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line5"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "5");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line6"), 20, y, width, height);
            #endregion

            //Force download if pathFileName is not set
            if (string.IsNullOrEmpty(pathFileName))
            {
                pdfGen.GeneratePdfToWeb("LAB_PM.pdf");
            }
            else
            {
                pdfGen.GeneratePdf(pathFileName);
            }
        }
        public static void GeneratePP_LAB(IDictionary<LABStudy.SectionEnum, LABStudyModel> dicoLABStudyModel, string pathFileName, bool emptyLAB = false)
        {

            //#Page 1 : Title
            float y = 240;
            int height = 20;
            int width = 500;
            float label_width = 200;
            float answer_width = 280;
            float answer_x = 200;
            float tabCheck = 15;

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

            LABStudyModel labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Client];
            FirmInstitution firmInstitution = labStudyModel.Customer.FirmInstitution;
            string currentHostCode = Upsilab.Business.Utility.SessionManager.GetHostCodeSession();
            //Title and footer document
            string documentTitle = "Etude LAB";
            string footerContent = firmInstitution.DocumentFooterContent;


            //FoxitPDFGenerator pdfGen = new FoxitPDFGenerator(documentTitle, footerContent);
            string name = string.Empty;
            string date = string.Empty;
            if (!emptyLAB)
            {
                name = string.Format("{0} {1}", labStudyModel.Customer.User.UserName, labStudyModel.Customer.User.UserFirstName);
                date = DateTime.Now.ToShortDateString();
            }
            //FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator(documentTitle, footerContent, name, string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), date));

            CustomEnum = Upsilab.Business.Custom.CustomEnumBL.GetAllCustomEnums();
            EnumLanguages = GetLanguageEnum(1);

            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

            #region Page 1 : Logo & Title
            //Logo
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(firmInstitution.idFirmInstitution) + firmInstitution.Logo;
            pdfGen.AddLogoOnFirstPage(logoPathFileName, firmInstitution.LogoAlign);
            pdfGen.AddBackgroungImage();

            y = 390;
            //Title
            // pdfGen.AddReceuil_Title_Center_CalibriBold_Label(languageData.GetContent("Report_Title"), y, width, 100);
            // pdfGen.AddReceuil_SubTitle_Center_CalibriBold_Label(languageData.GetContent("Report_Title2"), y += 90, width, height);
            pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title"), y, 310, 80, 200, 16);
            // pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title2"), y += interline * 3.5f, 200, 20, 300, 20);//clients/prospects
            pdfGen.AddWhiteTitle(languageData.GetContent("Report_Title2"), y += interline * 5f, 510, 20, 0, 12);

            pdfGen.AddWhiteBorder(y += interline * 1.7f, 195, 315, 70);
            if (emptyLAB)
            {
                //string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), ""),
                //                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), "") };
                //pdfGen.AddTableTitle(rowContents, 110, y += 40);
            }
            else
            {
                //string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), labStudyModel.LABStudy.DateUpdated.HasValue ? labStudyModel.LABStudy.DateUpdated.Value.ToShortDateString() : labStudyModel.LABStudy.DateCreated.ToShortDateString()),
                //                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), labStudyModel.LABStudy.idLABStudy) };
                //pdfGen.AddTableTitle(rowContents, 110, y += 40);
                pdfGen.AddWhiteTitleLeft(DateTime.Now.ToShortDateString(), y += 10, width + 10, 11, 220, 10);
                pdfGen.AddWhiteTitleLeft(name, y += (interline), width + 10, 11, 220, 10);
                pdfGen.AddWhiteTitleLeft(string.Format("{0}-{1}", languageData.GetContent("Report_Title_Reference"), labStudyModel.LABStudy.idLABStudy), y += (interline), width + 10, 11, 220, 10);
            }
            #endregion

            #region Page identification etablissement
            var languageDataPP = PageLanguageHelper.GetLanguageContent("User", "PDFReportPP");
            pdfGen.CreatePage();
            y = 0;
            var textInterline = 0;
            pdfGen.AddTitle(languageDataPP.GetContent("PdfReportPP_006"), y, width, 20);//IDENTIFICATION DE L’ÉTABLISSEMENT

            pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_012"), y = y + (interline * 2) + textInterline, label_width, height);
            pdfGen.AddAnswer(firmInstitution.FirmInstitutionName, y, answer_width, 20, answer_x);

            pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_013"), y += interline, label_width, height);
            pdfGen.AddAnswer(firmInstitution.LeaderName, y, answer_width, 20, answer_x);

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

            if (SessionManager.GetHostCodeSession() == PageLanguageHelper.HostCode.FR.ToString())
            {
                pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_015"), y += interline, label_width, height);//Numéro RCS : 
                pdfGen.AddAnswer(firmInstitution.RCS, y, answer_width, 20, answer_x);
            }
            else
            {
                pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_015"), y += interline, label_width, height);//Numéro d'entreprise
                pdfGen.AddAnswer(firmInstitution.RegisteredInRegister, y, answer_width, 20, answer_x);

                var optionValue = Business.Configuration.FirmInstitutionOptionBL.GetFirmInstitutionOptionAttributeValueByFirmAndIdOptionAttribute(firmInstitution.idFirmInstitution, 1);
                var optFSMA = string.Empty;
                if (optionValue != null)
                    optFSMA = Convert.ToString(optionValue.Value);

                pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_FSMA"), y += interline, label_width, height);//Numéro FSMA :
                pdfGen.AddAnswer(optFSMA, y, answer_width, 20, answer_x);

            }

            pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_016"), y += interline, label_width, height);//Adresse du siège : 
            pdfGen.AddAnswer(firmInstitution.FirmStreet, y, answer_width, 20, answer_x);

            pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_017"), y += interline, label_width, height);//Code postal :
            pdfGen.AddAnswer(firmInstitution.FirmPostCode, y, answer_width, 20, answer_x);

            pdfGen.AddDefaultText(languageDataPP.GetContent("PdfReportPP_018"), y += interline, label_width, height);//Ville :
            pdfGen.AddAnswer(firmInstitution.FirmCity, y, answer_width, 20, answer_x);

            #region Conseiller signataire
            string signataireFirstName = string.Empty;
            string signataireName = string.Empty;


            //    if (!report.IsEmptyReport)
            // {
            Data.Model.User userAdviser = labStudyModel.Customer.User1;// (report.User != null) ? report.User : report.CustomerProspect.User1;

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

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

            pdfGen.AddDefaultText(String.Format(languageDataPP.GetContent("PdfReportPP_753"), string.Empty, string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(string.Format("{0} {1}", signataireFirstName, signataireName), y, answer_width, 20, answer_x);

            #endregion

            #endregion

            #region Page 2 : Client : I. Identité du client
            //#Page 2 : Client : I. identité du client
            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddTitle(languageData.GetContent("Page2_Title"), y, width, 20);

            //height = 15;
            //y += 35;
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y += interline + 10, 0, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section1_Line1"), y, width, height, tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y += interline, 0, Boolean.TrueString);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section1_Line2"), y, width, height, tabCheck);

            pdfGen.AddSubtitle(languageData.GetContent("Page2_Section2_Title"), y += interline * 2f, width);
            // civilité

            float x = 0;

            pdfGen.AddDefaultText(languageData.GetContent("LABPP_1227"), y += interline * 1.5f, width);

            x = 40;
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Title, y, x, languageData.GetContent("LABPP_1228"));
            pdfGen.AddDefaultText(languageData.GetContent("LABPP_1228"), y, width, height, x + tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Title, y, x += 60, languageData.GetContent("LABPP_1229"));
            pdfGen.AddDefaultText(languageData.GetContent("LABPP_1229"), y, width, height, x = x + tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Title, y, x += 50, languageData.GetContent("LABPP_1230"));
            pdfGen.AddDefaultText(languageData.GetContent("LABPP_1230"), y, width, height, x = x + tabCheck);


            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line1"), labStudyModel.Customer.User.UserName), 0, y += interline, width, height); //Nom
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line1"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.User.UserName, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line2"), labStudyModel.Customer.User.UserFirstName), 0, y += interline, width, height); //Prenom
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line2"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.User.UserFirstName, y, answer_width, 20, answer_x);

            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line3"), labStudyModel.Customer.MaidenName), 0, y += interline, width, height); //Nom de jeune fille
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line3"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.MaidenName, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line4"), (labStudyModel.Customer.DateOfBirth.HasValue) ? labStudyModel.Customer.DateOfBirth.Value.ToString("dd/MM/yyyy") : string.Empty), 0, y += interline, width, height); //Date of birth
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line4"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer((labStudyModel.Customer.DateOfBirth.HasValue) ? labStudyModel.Customer.DateOfBirth.Value.ToString("dd/MM/yyyy") : string.Empty, y, answer_width, 20, answer_x);

            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line5"), labStudyModel.Customer.PlaceOfBirth), 0, y += interline, width, height); //Lieu de naissance
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line5"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.PlaceOfBirth, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line6"), labStudyModel.Customer.PrivatePhone), 0, y += interline, width, height); //Tel priv
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line6"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.PrivatePhone, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line7"), labStudyModel.Customer.Fax), 0, y += interline, width, height); //Fax
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line7"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.Fax, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line8"), labStudyModel.Customer.ProfessionalPhone), 0, y += interline, width, height); //Tel prof
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line8"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.ProfessionalPhone, y, answer_width, 20, answer_x);

            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line9"), labStudyModel.Customer.User.UserMobilePhone), 0, y += interline, width, height); //Mobile
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line9"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.User.UserMobilePhone, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line10"), labStudyModel.Customer.User.UserEmail), 0, y += interline, width, height); //Mail
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line10"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.User.UserEmail, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line11"), labStudyModel.Customer.Adress), 0, y += interline, width, 3 * height); //Adresse courier
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line11"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.Adress, y, answer_width, height * 3, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line12"), labStudyModel.Customer.FiscalAddrress),  y += interline * 3, width, 3 * height); //Adresse fiscale
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line12"), string.Empty), y += interline * 2.8f, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.FiscalAddrress, y, answer_width, height * 3, answer_x);

            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line13"), y += interline * 2.8f, width, height);

            x = answer_x;
            //Etes-vous
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalCapacity, y, x, "Majeur capable"); //Majeur capable
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line14_Item1"), y, width, height, x = x + tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalCapacity, y, x += 100, "Majeur sous tutelle"); //Majeur sous tutelle
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line14_Item2"), y, width, height, x += tabCheck);

            if (currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                x = answer_x;
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalCapacity, y += interline, x, "Majeur sous curatelle"); //"Majeur sous curatelle"
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line15_Item1"), y, width, height, x += tabCheck);
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalCapacity, y, x += 100, "Majeur sous sauvegarde de justice"); //"Majeur sous sauvegarde de justice"
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line15_Item2"), y, width, height, x += tabCheck);

                x = answer_x;
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalCapacity, y += interline, x, "Mineur non émancipé"); //"Mineur non émancipé"
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line16_Item1"), y, width, height, x += tabCheck);
                pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.LegalCapacity, y, x += 100, "Mineur émancipé"); //"Mineur émancipé"
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line16_Item2"), y, width, height, x += tabCheck);
            }
            else if (currentHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                x = answer_x;
                pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(1257), y += interline, x, "1");//TODO
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line16_Item_1257"), y, width, height, x += tabCheck);
                pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(1150), y, x += 100, "1"); //TODO
                pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line16_Item2"), y, width, height, x + tabCheck);
            }

            //Représentant légal
            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_LegalRepresentative"), labStudyModel.Customer.LegalRepresentative), 0, y += interline, width, height); //Representant legal
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_LegalRepresentative"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.LegalRepresentative, y, answer_width, 20, answer_x);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line17"), labStudyModel.Customer.Nationality), 0, y += interline, width, height); //Nationalité
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line17"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.Nationality, y, answer_width, 20, answer_x);

            // pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line18"), labStudyModel.Customer.NationalityIfDouble), 0, y += interline, width, height); //Nationalité si double
            pdfGen.AddDefaultText(String.Format(languageData.GetContent("Page2_Section2_Line18"), string.Empty), y += interline, label_width, height);
            pdfGen.AddAnswer(labStudyModel.Customer.NationalityIfDouble, y, answer_width, 20, answer_x);

            x = 0;
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsResident, y += interline, x, Boolean.TrueString); //Resident
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line19_Item1"), y, width, height, x += tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsResident, y, x = 100, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line19_Item2"), y, width, height, x += tabCheck);

            //pdfGen.AddDefaultText(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line20"), labStudyModel.Customer.Country), 0, y += interline, width, height); //Pays de residence
            pdfGen.AddDefaultText(String.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line20"), labStudyModel.Customer.Country), y += interline, label_width, height);
            //pdfGen.AddAnswer(labStudyModel.Customer.Country, y, answer_width, 20, answer_x);


            pdfGen.AddBlueBorder(y += interline, 70, width - 100, 90);
            x = 80;

            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line21"), y += interline, width - 120, height, x);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Gafi, y += interline, x += 10, Boolean.TrueString); //Gafi
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes"), y, width, height, x += tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Gafi, y, x += 30, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No"), y, width, height, x += tabCheck);

            x = 80;
            pdfGen.AddDefaultText(languageData.GetContent("Page2_Section2_Line22"), y += interline, width - 120, height, x);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.OffShore, y += interline, x += 10, Boolean.TrueString); //Offshore
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_Yes"), y, width, height, x += tabCheck);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.OffShore, y, x += 30, Boolean.FalseString);
            pdfGen.AddDefaultText(languageData.GetContent("Report_Symbol_No"), y, width, height, x += tabCheck);
            #endregion

            #region Page 3 : Client : II. Personne physique
            //#Page 3 : Client : II. Personne physique
            pdfGen.CreatePage();

            y = 50;
            pdfGen.AddSubtitle(languageData.GetContent("Page3_Section1_Title"), y, width, height);

            //CLIENT MENU

            LABAnswer labAnswer = labStudyModel.GetAnswerByIdQuestion(11);
            string[] tableRiskVigilanceYesNo_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No") };
            string[] tableRiskVigilanceYesNoIDK_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No"), languageData.GetContent("TableRiskVigilanceYesNo_Item3") };
            string[] answer = { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line1"), y += interline * 2, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //This question is for only client (not prospect)
            if (labStudyModel.Customer.IsCustomer && currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                labAnswer = labStudyModel.GetAnswerByIdQuestion(12);
                answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
                pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line2"), y += interline * 3, width, 2 * height);
                pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += interline * 2, tableRiskVigilanceYesNo_Text);
            }

            labAnswer = labStudyModel.GetAnswerByIdQuestion(13);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line3"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(14);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line4"),  y += interline * 3, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(15);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line5"),  y += interline * 3, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(67);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line5_1"), y += 3 * interline, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(68);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line5_2"), y += 3 * interline, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(16);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page3_Section1_Line6"),  y += interline * 3, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 4 : Client : III. Facteurs de risque aggravé
            //#Page 4 : Client : III. Facteurs de risque aggravé
            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddSubtitle(languageData.GetContent("Page4_Section1_Title"), y, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(17);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line1"), y += interline * 2, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(18);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line2"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(19);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(20);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line4"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(21);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line5"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(24);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line6"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(22);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line7"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(23);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page4_Section1_Line8"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(51);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line6"), y += interline * 3, width, height); //Question from operation
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 5 : Client : IV. Risques fiscaux
            //#Page 5 : Client : IV. Risques fiscaux
            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddSubtitle(languageData.GetContent("Page5_Section1_Title"), y, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(25);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line1"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            //The following three questions are for PM
            /*labAnswer = labStudyModel.GetAnswerByIdQuestion(26);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText("La société cliente a-t-elle connu des changements statutaires fréquents non justifiés par la situation économique de l’entreprise ?",  y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(27);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText("La société cliente en sommeil ou peu active a-t-elle connu des changements statutaires récents ?",  y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(28);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText("La société cliente a-t-elle recours à l’interposition de personnes physiques n’intervenant qu’en apparence pour le compte de clients de la PSI ou du CIF ?",  y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30);*/

            labAnswer = labStudyModel.GetAnswerByIdQuestion(29);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line2"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(30);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(31);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line4"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(32);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page5_Section1_Line5"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 6 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 6 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Product];

            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
            }

            y = 0;
            pdfGen.AddTitle(languageData.GetContent("Page6_Section1_Title"), y, width, 20);

            pdfGen.AddSubtitle(languageData.GetContent("Page6_Section1_Title2"), y += interline * 1.5f, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(34);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line1"), y += interline * 2, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(35);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line2"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(36);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line3"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(37);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line4"),  y += interline * 3, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(38);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line5"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(39);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line6"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(40);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line7"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(41);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line8"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(42);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page6_Section1_Line9"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            y = 0;
            labAnswer = labStudyModel.GetAnswerByIdQuestion(43);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line1"), y, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(44);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line2"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(45);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(46);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page7_Section1_Line4"), y += interline * 3, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 8 : Operation : VI. Risques généraux / fiscaux
            //#Page 8 : Operation : VI. Risques généraux
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Operation];
            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

            y = 0;
            pdfGen.AddTitle(languageData.GetContent("Page8_Section1_Title"), y, width, 20);

            pdfGen.AddSubtitle(languageData.GetContent("Page8_Section1_Title2"), y += interline * 1.5f, width, height);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(48);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line1"), y+= interline *2, width, 2 * height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(49);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line2"), y += interline * 3, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(50);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line3"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(52);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line4"),  y += interline * 3, width, 2 * height);
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section1_Line5"), y+= interline *2, width, 10 * height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 8 * height, tableRiskVigilanceYesNo_Text);

            //VII. Risques liés à la distribution des fonds gérés par les sociétés de gestion
            //pdfGen.AddSubtitle(languageData.GetContent("Page8_Section2_Title"), 0, y += 4 * height, width, height);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(53);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section2_Line1"), y+= interline *2, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(54);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page8_Section2_Line2"),  y += interline * 3, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //VIII. Risques fiscaux
            pdfGen.AddSubtitle(languageData.GetContent("Page9_Section1_Title"), y += 4 * interline, width, height);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(55);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page9_Section1_Line1"), y+= interline *2, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(56);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddDefaultText(languageData.GetContent("Page9_Section1_Line2"),  y += interline * 3, width, 2 * height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            //This question is only for client (not prospect)
            if (labStudyModel.Customer.IsCustomer && currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                labAnswer = labStudyModel.GetAnswerByIdQuestion(57);
                answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
                pdfGen.AddDefaultText(languageData.GetContent("Page9_Section1_Line3"), y += interline * 3, width, 3 * height);
                pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            }

            labAnswer = labStudyModel.GetAnswerByIdQuestion(58);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section1_Line4"), y += interline * 3, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNoIDK_Text);
            #endregion

            #region Page 9 : NIVEAU DE RISQUE GLOBAL DU CLIENT
            //#Page 9 : NIVEAU DE RISQUE GLOBAL DU CLIENT
            pdfGen.CreatePage();

            y = 0;
            //NIVEAU DE RISQUE GLOBAL DU CLIENT           
            pdfGen.AddTitle(languageData.GetContent("Page9_Section2_Title"), y, width, 20);


            string dateUpdated = (labStudyModel.LABStudy.DateUpdated.HasValue) ? labStudyModel.LABStudy.DateUpdated.Value.ToString("dd/MM/yyyy") : labStudyModel.LABStudy.DateCreated.ToString("dd/MM/yyyy");
            string idGlobalRisk = labStudyModel.LABStudy.idRisk.ToString();
            string idGlobalVigilance = labStudyModel.LABStudy.idVigilance.ToString();

            pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("Page9_Section2_Line1"), dateUpdated), y += interline * 2, width, height);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "1");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line2"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "2");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line3"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "3");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line4"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "4");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line5"), y, width, height, tabCheck);

            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y += interline, 0, "5");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section2_Line6"), y, width, height, tabCheck);

            //NIVEAU DE VIGILANCE GLOBAL DU CLIENT
            y += 60;
            pdfGen.AddTitle(languageData.GetContent("Page9_Section3_Title"), y, width, 20);

            pdfGen.AddDefaultText(string.Format("{0} {1}", languageData.GetContent("Page9_Section3_Line1"), dateUpdated), y += interline * 2, width, height);


            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "1");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line2"), y, width, height, tabCheck);

            if (currentHostCode != Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "2");
                pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line3"), y, width, height, tabCheck);
            }

            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "3");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line4"), y, width, height, tabCheck);


            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "4");
            if (currentHostCode == Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line5"), y, width, height * 2, tabCheck);
            }
            else
            {
                pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line5"), y, width, height, tabCheck);
            }
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y += interline, 0, "5");
            pdfGen.AddDefaultText(languageData.GetContent("Page9_Section3_Line6"), y, width, height, tabCheck);
            #endregion

            //Force download if pathFileName is not set
            if (string.IsNullOrEmpty(pathFileName))
            {
                pdfGen.GeneratePdfToWeb("LAB_PP.pdf");
            }
            else
            {
                pdfGen.GeneratePdf(pathFileName);
            }

        }
        public static void GeneratePP_LAB(IDictionary<LABStudy.SectionEnum, LABStudyModel> dicoLABStudyModel, string pathFileName, bool emptyLAB = false)
        {

            //#Page 1 : Title
            int y = 160;
            int height = 20;
            int width = 500;

            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();
            CustomEnum = Upsilab.Business.Custom.CustomEnumBL.GetAllCustomEnums();
            EnumLanguages = GetLanguageEnum(1);

            LABStudyModel labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Client];
            FirmInstitution firmInstitution = labStudyModel.Customer.FirmInstitution;

            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

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


            #region Page 1 : Logo & Title
            //Logo
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(firmInstitution.idFirmInstitution) + firmInstitution.Logo;
            pdfGen.AddLogoOnFirstPage(logoPathFileName);

            //Title
            pdfGen.AddReceuil_Title_Center_CalibriBold_Label(languageData.GetContent("Report_Title"), y, width, 100);
            pdfGen.AddReceuil_SubTitle_Center_CalibriBold_Label(languageData.GetContent("Report_Title2"), y += 100, width, height);

            if (emptyLAB)
            {
                string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), ""),
                                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), "") };
                pdfGen.AddTableTitle(rowContents, 110, y += 80);
            }
            else
            {
                string[] rowContents = { string.Format("{0} {1}", languageData.GetContent("Report_Title_Date"), labStudyModel.LABStudy.DateUpdated.HasValue ? labStudyModel.LABStudy.DateUpdated.Value.ToShortDateString() : labStudyModel.LABStudy.DateCreated.ToShortDateString()),
                                       string.Format("{0}{1}", languageData.GetContent("Report_Title_Reference"), labStudyModel.LABStudy.idLABStudy) };
                pdfGen.AddTableTitle(rowContents, 110, y += 80);
            }
            #endregion

            #region Page 2 : Client : I. Identité du client
            //#Page 2 : Client : I. identité du client
            pdfGen.CreatePage();

            y = 0;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page2_Title"), y, width, 20);

            height = 15;
            y += 35;
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y + height, 0, Boolean.FalseString);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section1_Line1"), 15, y += height, width, 15);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.IsCorporation, y + height, 0, Boolean.TrueString);
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section1_Line2"), 15, y += height, width, 15);

            y += height;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page2_Section2_Title"), 0, y += height, width, 20);

            // civilité
            y += 2 * height;
            float tabCheck = 15;
            float x = 0;
            pdfGen.AddLabelArial(languageData.GetContent("LABPP_1227"), 0, y, width, height);

            x = 40;
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Title, y, x, languageData.GetContent("LABPP_1228"));
            pdfGen.AddLabelArial(languageData.GetContent("LABPP_1228"), x = x + tabCheck, y, width, 15);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Title, y, x = x + tabCheck + 40, languageData.GetContent("LABPP_1229"));
            pdfGen.AddLabelArial(languageData.GetContent("LABPP_1229"), x = x + tabCheck, y, width, 15);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.Customer.Title, y, x = x + tabCheck + 40, languageData.GetContent("LABPP_1230"));
            pdfGen.AddLabelArial(languageData.GetContent("LABPP_1230"), x = x + tabCheck, y, width, 15);


            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line1"), labStudyModel.GetOptionAttributeValue(701, 501)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line2"), labStudyModel.GetOptionAttributeValue(701, 502)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line3"), labStudyModel.GetOptionAttributeValue(701, 503)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line4"), labStudyModel.GetOptionAttributeValue(701, 504)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line5"), labStudyModel.GetOptionAttributeValue(701, 505)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line6"), labStudyModel.GetOptionAttributeValue(701, 506)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line7"), labStudyModel.GetOptionAttributeValue(701, 507)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line8"), labStudyModel.GetOptionAttributeValue(701, 508)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line9"), labStudyModel.GetOptionAttributeValue(701, 509)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line10"), labStudyModel.GetOptionAttributeValue(701, 510)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line11"), labStudyModel.GetOptionAttributeValue(701, 511)), 0, y += height, width, 3 * height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line12"), labStudyModel.GetOptionAttributeValue(701, 512)), 0, y += 3 * height, width, 3 * height);

            y += 2 * height;
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line13"), 0, y += height, width, height);

            //Etes-vous
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(703), y + height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line14_Item1"), 15, y + height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(704), y + height, 200, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line14_Item2"), 215, y += height, width, height);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(705), y + height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line15_Item1"), 15, y + height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(706), y + height, 200, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line15_Item2"), 215, y += height, width, height);

            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(1127), y + height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line16_Item1"), 15, y + height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(1150), y + height, 200, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line16_Item2"), 215, y += height, width, height);

            //Représentant légal
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_LegalRepresentative"), labStudyModel.GetOptionAttributeValue(702, 740)), 0, y += height, width, height);

            y += height;
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line17"), labStudyModel.GetOptionAttributeValue(702, 513)), 0, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line18"), labStudyModel.GetOptionAttributeValue(702, 514)), 0, y += height, width, height);

            y += height;
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(708), y + height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line19_Item1"), 15, y + height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(709), y + height, 100, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line19_Item2"), 115, y += height, width, height);
            pdfGen.AddLabelArial(string.Format("{0} : {1}", languageData.GetContent("Page2_Section2_Line20"), GetEnumValue(labStudyModel.GetOptionAttributeValue(710, 515), 12)), 0, y += height, width, height);

            y += height;
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line21"), 0, y += height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(712), y + height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_Yes"), 15, y + height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(713), y + height, 50, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_No"), 65, y += height, width, height);

            y += height;
            pdfGen.AddLabelArial(languageData.GetContent("Page2_Section2_Line22"), 0, y += height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(715), y + height, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_Yes"), 15, y + height, width, height);
            pdfGen.LAB_PlotBooleanValue(labStudyModel.GetOptionValue(716), y + height, 50, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Report_Symbol_No"), 65, y += height, width, height);
            #endregion

            #region Page 3 : Client : II. Personne physique
            //#Page 3 : Client : II. Personne physique
            pdfGen.CreatePage();

            y = 0;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page3_Section1_Title"), 0, y += 2 * height, width, height);

            //CLIENT MENU

            LABAnswer labAnswer = labStudyModel.GetAnswerByIdQuestion(11);
            string[] tableRiskVigilanceYesNo_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No") };
            string[] tableRiskVigilanceYesNoIDK_Text = { languageData.GetContent("TableRiskVigilanceYesNo_Item1"), languageData.GetContent("TableRiskVigilanceYesNo_Item2"), languageData.GetContent("Report_Symbol_Yes"), languageData.GetContent("Report_Symbol_No"), languageData.GetContent("TableRiskVigilanceYesNo_Item3") };
            string[] answer = { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line1"), 0, y += 2 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //This question is for only client (not prospect)
            if (labStudyModel.Customer.IsCustomer)
            {
                labAnswer = labStudyModel.GetAnswerByIdQuestion(12);
                answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
                pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line2"), 0, y += 3 * height, width, 2 * height);
                pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            }

            labAnswer = labStudyModel.GetAnswerByIdQuestion(13);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line3"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(14);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line4"), 0, y += 3 * height, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(15);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line5"), 0, y += 3 * height, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(67);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line5_1"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(68);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line5_2"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(16);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page3_Section1_Line6"), 0, y += 3 * height, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 4 : Client : III. Facteurs de risque aggravé
            //#Page 4 : Client : III. Facteurs de risque aggravé
            pdfGen.CreatePage();

            y = 0;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page4_Section1_Title"), 0, y += 2 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(17);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line1"), 0, y += 2 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(18);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line2"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(19);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(20);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line4"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(21);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line5"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(24);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line6"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(22);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line7"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(23);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page4_Section1_Line8"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(51);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line6"), 0, y += 3 * height, width, height); //Question from operation
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 5 : Client : IV. Risques fiscaux
            //#Page 5 : Client : IV. Risques fiscaux
            pdfGen.CreatePage();

            y = 0;
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page5_Section1_Title"), 0, y += 2 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(25);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line1"), 0, y += 2 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            //The following three questions are for PM
            /*labAnswer = labStudyModel.GetAnswerByIdQuestion(26);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial("La société cliente a-t-elle connu des changements statutaires fréquents non justifiés par la situation économique de l’entreprise ?", 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(27);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial("La société cliente en sommeil ou peu active a-t-elle connu des changements statutaires récents ?", 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(28);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial("La société cliente a-t-elle recours à l’interposition de personnes physiques n’intervenant qu’en apparence pour le compte de clients de la PSI ou du CIF ?", 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30);*/

            labAnswer = labStudyModel.GetAnswerByIdQuestion(29);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line2"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(30);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(31);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line4"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(32);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page5_Section1_Line5"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 6 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 6 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Product];

            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
            }

            y = 0;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page6_Section1_Title"), y, width, 20);

            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page6_Section1_Title2"), 0, y += 2 * height, width, height);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(34);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line1"), 0, y += 2 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(35);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line2"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(36);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line3"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(37);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line4"), 0, y += 3 * height, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(38);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line5"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(39);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line6"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(40);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line7"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(41);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line8"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(42);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page6_Section1_Line9"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            //#Page 7 : Produit : V. L'environnement et les caractéristiques du produit
            pdfGen.CreatePage();

            y = 0;
            labAnswer = labStudyModel.GetAnswerByIdQuestion(43);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line1"), 0, y, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(44);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line2"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(45);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(46);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page7_Section1_Line4"), 0, y += 3 * height, width, 3 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            #endregion

            #region Page 8 : Operation : VI. Risques généraux / fiscaux
            //#Page 8 : Operation : VI. Risques généraux
            pdfGen.CreatePage();

            labStudyModel = dicoLABStudyModel[LABStudy.SectionEnum.Operation];
            if (emptyLAB)
            {
                labStudyModel = new LABStudyModel();
                firmInstitution = new FirmInstitution();
                labStudyModel.LABStudy = new LABStudy();
                labStudyModel.Customer = new Upsilab.Data.Model.CustomerProspect();
            }

            y = 0;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page8_Section1_Title"), y, width, 20);

            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page8_Section1_Title2"), 0, y += 2 * height, width, height);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(48);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line1"), 0, y += 2 * height, width, 2 * height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(49);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line2"), 0, y += 3 * height, width, height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            labAnswer = labStudyModel.GetAnswerByIdQuestion(50);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line3"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(52);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line4"), 0, y += 3 * height, width, 2 * height);
            //pdfGen.AddLabelArial(languageData.GetContent("Page8_Section1_Line5"), 0, y += 2 * height, width, 10 * height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 8 * height, tableRiskVigilanceYesNo_Text);

            //VII. Risques liés à la distribution des fonds gérés par les sociétés de gestion
            //pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page8_Section2_Title"), 0, y += 4 * height, width, height);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(53);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page8_Section2_Line1"), 0, y += 2 * height, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(54);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page8_Section2_Line2"), 0, y += 3 * height, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 20, tableRiskVigilanceYesNo_Text);

            //VIII. Risques fiscaux
            pdfGen.LAB_AddChapterTitle_Calibri(languageData.GetContent("Page9_Section1_Title"), 0, y += 4 * height, width, height);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(55);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page9_Section1_Line1"), 0, y += 2 * height, width, height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNoIdk(answer, 0, y += 20, tableRiskVigilanceYesNoIDK_Text);

            //labAnswer = labStudyModel.GetAnswerByIdQuestion(56);
            //answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            //pdfGen.AddLabelArial(languageData.GetContent("Page9_Section1_Line2"), 0, y += 3 * height, width, 2 * height);
            //pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNo_Text);

            //This question is only for client (not prospect)
            if (labStudyModel.Customer.IsCustomer)
            {
                labAnswer = labStudyModel.GetAnswerByIdQuestion(57);
                answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
                pdfGen.AddLabelArial(languageData.GetContent("Page9_Section1_Line3"), 0, y += 3 * height, width, 3 * height);
                pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 40, tableRiskVigilanceYesNo_Text);
            }

            labAnswer = labStudyModel.GetAnswerByIdQuestion(58);
            answer = new string[] { labAnswer.idResponse.ToString(), labAnswer.RiskLabel, labAnswer.VigilanceLabel };
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section1_Line4"), 0, y += 3 * height, width, 2 * height);
            pdfGen.LAB_AddTableRiskVigilance_YesNo(answer, 0, y += 30, tableRiskVigilanceYesNoIDK_Text);
            #endregion

            #region Page 9 : NIVEAU DE RISQUE GLOBAL DU CLIENT
            //#Page 9 : NIVEAU DE RISQUE GLOBAL DU CLIENT
            pdfGen.CreatePage();

            y = 0;            
            //NIVEAU DE RISQUE GLOBAL DU CLIENT           
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page9_Section2_Title"), y, width, 20);


            string dateUpdated = (labStudyModel.LABStudy.DateUpdated.HasValue) ? labStudyModel.LABStudy.DateUpdated.Value.ToString("dd/MM/yyyy") : labStudyModel.LABStudy.DateCreated.ToString("dd/MM/yyyy");
            string idGlobalRisk = labStudyModel.LABStudy.idRisk.ToString();
            string idGlobalVigilance = labStudyModel.LABStudy.idVigilance.ToString();

            pdfGen.AddLabelArial(string.Format("{0} {1}", languageData.GetContent("Page9_Section2_Line1"), dateUpdated), 0, y += 2 * height, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line2"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "2");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line3"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "3");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line4"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "4");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line5"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalRisk, y, 0, "5");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section2_Line6"), 20, y, width, height);

            //NIVEAU DE VIGILANCE GLOBAL DU CLIENT
            y += 60;
            pdfGen.AddReceuil_ChapterTitle_Center_CalibriBoldItalic_Label(languageData.GetContent("Page9_Section3_Title"), y, width, 20);

            pdfGen.AddLabelArial(string.Format("{0} {1}", languageData.GetContent("Page9_Section3_Line1"), dateUpdated), 0, y += 2 * height, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "1");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line2"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "2");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line3"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "3");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line4"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "4");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line5"), 20, y, width, height);

            y += 20;
            pdfGen.LAB_PlotBooleanValue(idGlobalVigilance, y, 0, "5");
            pdfGen.AddLabelArial(languageData.GetContent("Page9_Section3_Line6"), 20, y, width, height);
            #endregion

            //Force download if pathFileName is not set
            if (string.IsNullOrEmpty(pathFileName))
            {
                pdfGen.GeneratePdfToWeb("LAB_PP.pdf");
            }
            else
            {
                pdfGen.GeneratePdf(pathFileName);
            }

        }