Пример #1
0
        public static List<LABAnswer> GetAnswersByIdParentQuestionAndIdCustomerProspect(LABStudyModel labStudyModel)
        {
            var lstLabAnswers = new List<LABAnswer>();
            LABAnswer tempAnswer = null;

            using (UpsilabEntities db = new UpsilabEntities())
            {

                //Get all answers for the current IdLabStudy
                IList<LABAnswer> allLABAnswers = db.LABAnswer.Where(ans => ans.idLABStudy == labStudyModel.idLABStudy
                                                                    && !ans.LABQuestion.IsDeleted).ToList();

                //Get answers for each question
                foreach (LABQuestion question in labStudyModel.LABQuestions)
                {
                    tempAnswer = allLABAnswers.Where(ans => ans.idLABQuestion == question.idLABQuestion).FirstOrDefault();

                    if (tempAnswer != null)
                    {
                        lstLabAnswers.Add(tempAnswer);
                    }
                }
            }

            return lstLabAnswers;
        }
Пример #2
0
        /// <summary>
        /// Retourne le nombre de questions répondues
        /// </summary>
        /// <param name="idQuestionParent"></param>
        /// <param name="idCustomerProspect"></param>
        /// <returns></returns>
        public static int GetAnswerCount(int idQuestionParent, LABStudyModel labStudyModel)
        {
            var customer = labStudyModel.Customer;
            var questionList = LABQuestionBL.GetLABQuestionListWithIdParent(idQuestionParent, customer);
            var labStudy = labStudyModel.LABStudy;

            var questionListId = from q in questionList
                                 select q.idLABQuestion;
            
            int answercount = 0;

            using (UpsilabEntities context = new UpsilabEntities())
            {
                answercount = context.LABAnswer.Count(ans => questionListId.Contains(ans.idLABQuestion) 
                                                        && ans.idLABStudy == labStudy.idLABStudy
                                                        && !ans.LABQuestion.IsDeleted);
            }

            return answercount;
        }
        private void CheckIfAllQuestionsAnswered(LABStudyModel LABModel)
        {

            ///TODO --> TargetPerson tjs = client. Voir comment traiter les prospects.
            //CustomerProspect customer = new CustomerProspect() { IsCustomer = true, IsCorporation = !LABModel.LabModel.IsPP };
            CustomerProspect customer = LABModel.Customer;

            List<LABQuestion> LabQuestionClient = new List<LABQuestion>();
            List<LABQuestion> LabQuestionProduct = new List<LABQuestion>();
            List<LABQuestion> LabQuestionOperation = new List<LABQuestion>();

            LabQuestionClient = LABQuestionBL.GetLABQuestionListWithIdParent(CLIENT_ROOT_ID, customer)
               .Where(q => q.idParent.HasValue && !q.idParent.Value.Equals(CLIENT_ROOT_ID)).ToList();
            LabQuestionProduct = LABQuestionBL.GetLABQuestionListWithIdParent(PRODUCT_ROOT_ID, customer)
               .Where(q => q.idParent.HasValue && !q.idParent.Value.Equals(PRODUCT_ROOT_ID)).ToList();
            LabQuestionOperation = LABQuestionBL.GetLABQuestionListWithIdParent(OPERATION_ROOT_ID, customer)
                .Where(q => q.idParent.HasValue && !q.idParent.Value.Equals(OPERATION_ROOT_ID)).ToList();

            switch (LABModel.idParent)
            {
                case CLIENT_ROOT_ID:

                    if (LABModel.LABAnswers != null)
                        LABModel.IsClientSaved = LABModel.LABTemplateAnswers.Count >= LabQuestionClient.Count;
                    LABModel.IsOperationSaved = LABAnswerModelBL.GetAnswerCount(OPERATION_ROOT_ID, LABModel) >= LabQuestionOperation.Count;
                    LABModel.IsProductSaved = LABAnswerModelBL.GetAnswerCount(PRODUCT_ROOT_ID, LABModel) >= LabQuestionProduct.Count;
                    break;

                case OPERATION_ROOT_ID:

                    if (LABModel.LABAnswers != null)
                        LABModel.IsOperationSaved = LABModel.LABTemplateAnswers.Count >= LabQuestionOperation.Count;
                    LABModel.IsClientSaved = LABAnswerModelBL.GetAnswerCount(CLIENT_ROOT_ID, LABModel) >= LabQuestionClient.Count;
                    LABModel.IsProductSaved = LABAnswerModelBL.GetAnswerCount(PRODUCT_ROOT_ID, LABModel) >= LabQuestionProduct.Count;
                    break;

                case PRODUCT_ROOT_ID:

                    if (LABModel.LABAnswers != null)
                        LABModel.IsProductSaved = LABModel.LABTemplateAnswers.Count >= LabQuestionProduct.Count;
                    LABModel.IsOperationSaved = LABAnswerModelBL.GetAnswerCount(OPERATION_ROOT_ID, LABModel) >= LabQuestionOperation.Count;
                    LABModel.IsClientSaved = LABAnswerModelBL.GetAnswerCount(CLIENT_ROOT_ID, LABModel) >= LabQuestionClient.Count;
                    break;
            }
        }
Пример #4
0
        public static List<LABOptionModel> GetLABStudyOptionModel(LABStudyModel _LABStudyModel)
        {
            Guid _idLABStudy = _LABStudyModel.idLABStudy;
            List<LABOptionModel> lstLABOptionModel = new List<LABOptionModel>();

            if (!RootOptionID.HasValue)
            {
                return lstLABOptionModel;
            }

            //Get Options
            List<int> rootIds = new List<int>() { RootOptionID.Value };
            var _option = Business.Option.OptionBL.GetOptionsByRootIds(rootIds);

            if (_option != null)
            {
                _LABStudyModel.Option.AddRange(_option.ToList());
            }

            //Save Values
            //if (Request.RequestType.ToLower() != "get")
            //{
            //    UpdateOptionData(_LABStudyModel);
            //}

            //Get OptionValues
            //TODO : optimization
            var _optionValue = Business.LAB.LABStudyOptionBL.GetOptionValueListWithIdLABStudyIdParentOption(_idLABStudy, RootOptionID.Value);
            if (_optionValue == null) _optionValue = new List<LABStudyOptionValue>();

            //Merge to ViewModel
            lstLABOptionModel.AddRange(MapOptionDataToViewModel(_option, _optionValue));

            return lstLABOptionModel;
        }
        public LABStudyModel GetLABModel(LABModel _labModel, int _questionParentID)
        {
            //1- Initialize
            LABStudyModel labStudyModel = new LABStudyModel();
            labStudyModel.idParent = _questionParentID;
            labStudyModel.IsTemplate = true;
            labStudyModel.LabModel = _labModel;
            labStudyModel.idLABStudy = _labModel.idLABModel;


            //    //2- Get LAB Questions
            ///TODO --> TargetPerson tjs = client. Voir comment traiter les prospects.
            labStudyModel.Customer = new CustomerProspect() { IsCustomer = true, IsCorporation = !_labModel.IsPP };
            labStudyModel.LABQuestions = LABQuestionBL.GetLABQuestionListWithIdParent(_questionParentID, labStudyModel.Customer).ToList();

            //3- Get LAB Answers
            var answers = LABAnswerModelBL.GetAnswersByIdParentQuestionAndIdCustomerProspect(labStudyModel);
            if (answers != null)
            {
                labStudyModel.LABTemplateAnswers = answers;
            }

            //4- Check if all questions have been answered
            this.CheckIfAllQuestionsAnswered(labStudyModel);

            //Set session ?
            SessionManager.Set<Guid>(LABModelBL.IdLABModelSessionKey, labStudyModel.LabModel.idLABModel);

            //5- Get options and options'value
            //  labStudyModel.OptionData = GetLABStudyOptionModel(labStudyModel);
            labStudyModel.OptionData = new List<LABOptionModel>();

            //6- Get Question assessments
            labStudyModel.QuestionAssessment = QuestionAssessmentBL.Get();

            return labStudyModel;
            //}
        }
Пример #6
0
        public static LABStudyModel GetLABStudyModel(Upsilab.Data.Model.CustomerProspect _customer, int _questionParentID)
        {
            //1- Initialize
            LABStudyModel labStudyModel = new LABStudyModel();
            labStudyModel.idParent = _questionParentID;
            labStudyModel.idCustomer = _customer.idCustomer;
            labStudyModel.Customer = _customer;

            //2- Get latest LABStudy : if null, create
            LABStudy labStudy = LABStudyBL.GetLatestLABStudyByIdCustomerProspect(labStudyModel.idCustomer);

            if (labStudy == null)
            {
                labStudy = CreateEmptyLABStudy(_customer.idCustomer);
                //update customer
                labStudyModel.Customer.CurrentLabStatus = Data.Model.LABStudy.StatusEnum.InProgress.ToString();
                CustomerProspectBL.Update(labStudyModel.Customer);
            }

            labStudyModel.LABStudy = labStudy;
            labStudyModel.idLABStudy = labStudy.idLABStudy;

            //3- Get LAB Questions
            labStudyModel.LABQuestions = LABQuestionBL.GetLABQuestionListWithIdParent(_questionParentID, labStudyModel.Customer).ToList();

            //4- Get LAB Answers
            var answers = LABAnswerBL.GetAnswersByIdParentQuestionAndIdCustomerProspect(labStudyModel);
            if (answers != null)
            {
                labStudyModel.LABAnswers = answers;
            }

            //5- Check if all questions have been answered
            CheckIfAllQuestionsAnswered(labStudyModel);

            //Is readonly ?           
            labStudyModel.IsReadOnly = true;

            //Create new LAB if status is ("SentToCoffreFort" or "Canceled") and it's not for vigilance measure
            if ((labStudy.Status.Equals(Data.Model.LABStudy.StatusEnum.SentToCoffreFort.ToString())
                || labStudy.Status.Equals(Data.Model.LABStudy.StatusEnum.Canceled.ToString()))

                && !labStudyModel.IsReadOnly)
            {
                labStudy = CopyLatestLABStudy(labStudyModel.LABStudy);
                labStudyModel.LABStudy = labStudy;
                labStudyModel.idLABStudy = labStudy.idLABStudy;

                //update customer
                labStudyModel.Customer.CurrentLabStatus = Data.Model.LABStudy.StatusEnum.Completed.ToString();
                labStudyModel.Customer.NbVigilanceMeasure = 0; //Do new measure if vigi = 4 or vigi = 5
                CustomerProspectBL.Update(labStudyModel.Customer);
            }

           
            //Save data from customerprospect to laboptionvalues (this replaces the override)
            if (_questionParentID == CLIENT_ROOT_ID)
            {
                LABStudyOptionBL.SaveCustomerProspectDataToLABStudyOptionValues(labStudyModel.idLABStudy, labStudyModel.Customer);
            }

            //6- Get options and options'value
            labStudyModel.OptionData = GetLABStudyOptionModel(labStudyModel);

            //7- Get Question assessments
            labStudyModel.QuestionAssessment = QuestionAssessmentBL.Get();

            return labStudyModel;
        }
Пример #7
0
        public static void CheckIfAllQuestionsAnswered(LABStudyModel LABModel)
        {

            Guid customerId = Guid.NewGuid();            
            customerId = LABModel.Customer.idCustomer;

            List<LABQuestion> LabQuestionClient = new List<LABQuestion>();
            List<LABQuestion> LabQuestionProduct = new List<LABQuestion>();
            List<LABQuestion> LabQuestionOperation = new List<LABQuestion>();

            if (customerId != null)
            {
                Upsilab.Data.Model.CustomerProspect customer = CustomerProspectBL.GetCustomerProspectById(customerId);
                LabQuestionClient = LABQuestionBL.GetLABQuestionListWithIdParent(CLIENT_ROOT_ID, customer)
                   .Where(q => q.idParent.HasValue && !q.idParent.Value.Equals(CLIENT_ROOT_ID)).ToList();
                LabQuestionProduct = LABQuestionBL.GetLABQuestionListWithIdParent(PRODUCT_ROOT_ID, customer)
                   .Where(q => q.idParent.HasValue && !q.idParent.Value.Equals(PRODUCT_ROOT_ID)).ToList();
                LabQuestionOperation = LABQuestionBL.GetLABQuestionListWithIdParent(OPERATION_ROOT_ID, customer)
                    .Where(q => q.idParent.HasValue && !q.idParent.Value.Equals(OPERATION_ROOT_ID)).ToList();
            }
            switch (LABModel.idParent)
            {
                case CLIENT_ROOT_ID:

                    if (LABModel.LABAnswers != null)
                        LABModel.IsClientSaved = LABModel.LABAnswers.Count >= LabQuestionClient.Count;
                    LABModel.IsOperationSaved = LABAnswerBL.GetAnswerCount(OPERATION_ROOT_ID, LABModel) >= LabQuestionOperation.Count;
                    LABModel.IsProductSaved = LABAnswerBL.GetAnswerCount(PRODUCT_ROOT_ID, LABModel) >= LabQuestionProduct.Count;
                    break;

                case OPERATION_ROOT_ID:

                    if (LABModel.LABAnswers != null)
                        LABModel.IsOperationSaved = LABModel.LABAnswers.Count >= LabQuestionOperation.Count;
                    LABModel.IsClientSaved = LABAnswerBL.GetAnswerCount(CLIENT_ROOT_ID, LABModel) >= LabQuestionClient.Count;
                    LABModel.IsProductSaved = LABAnswerBL.GetAnswerCount(PRODUCT_ROOT_ID, LABModel) >= LabQuestionProduct.Count;
                    break;

                case PRODUCT_ROOT_ID:

                    if (LABModel.LABAnswers != null)
                        LABModel.IsProductSaved = LABModel.LABAnswers.Count >= LabQuestionProduct.Count;
                    LABModel.IsOperationSaved = LABAnswerBL.GetAnswerCount(OPERATION_ROOT_ID, LABModel) >= LabQuestionOperation.Count;
                    LABModel.IsClientSaved = LABAnswerBL.GetAnswerCount(CLIENT_ROOT_ID, LABModel) >= LabQuestionClient.Count;
                    break;
            }
        }
        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 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 List<LABStudyOptionAttributeValue> GetAttributValueFromPostData(LABStudyModel _dataModel, int idOption)
        {

            List<LABStudyOptionAttributeValue> retVal = new List<LABStudyOptionAttributeValue>();

            Option targetOption = _dataModel.Option.Where(o => o.idOption.Equals(idOption)).FirstOrDefault();

            if (targetOption.OptionAttribute != null)
            {
                foreach (var optAttr in targetOption.OptionAttribute)
                {
                    string idPrefix = string.Empty;
                    string dataType = optAttr.Datatype.ToLower();
                    bool isBasicDataType = true;

                    if (dataType.Equals("string") || dataType.Equals("multiline") || dataType.Equals("mobilephone")) idPrefix = "otxt_{0}_{1}";
                    else if (dataType.Equals("int") || dataType.Equals("float") || dataType.Equals("percent")) idPrefix = "otxt_{0}_{1}";
                    else if (dataType.Equals("datetime")) idPrefix = "dt_{0}_{1}";
                    else if (dataType.Equals("country")) idPrefix = "cbCountry_{0}_{1}";
                    else if (dataType.Equals("industry")) idPrefix = "cbIndustry_{0}_{1}";
                    else isBasicDataType = false;

                    if (isBasicDataType)
                    {
                        string ParamName = string.Format(idPrefix, optAttr.idOption, optAttr.idOptionAttribute);

                        if (!string.IsNullOrEmpty(Request.Params[ParamName]))
                        {
                            string strVal = Request.Params[ParamName];

                            LABStudyOptionAttributeValue newVal = new LABStudyOptionAttributeValue();
                            newVal.idOptionAttribute = optAttr.idOptionAttribute;
                            newVal.idLABStudy = _dataModel.LABStudy.idLABStudy;
                            newVal.Value = strVal;
                            retVal.Add(newVal);
                        }
                    }
                }
            }

            return retVal;
        }
        //override for  Recueil TitularePP
        //private ActionResult OverrideLABQuestionValues(ActionResult actionResult)
        //{
        //    if (actionResult is ViewResult)
        //    {
        //        var viewResult = actionResult as ViewResult;
        //        var objModel = viewResult.Model;
        //        var model = objModel as LABStudyModel;

        //        //override for PP
        //        var options = model.OptionData.Where(opt => opt.Option.idOption == 701 || opt.Option.idOption == 718 || opt.Option.idOption == 710 || opt.Option.idOption == 702 || opt.Option.idOption == 746 || opt.Option.idOption == 751 || opt.Option.idOption == 755 || opt.Option.idOption == 738 || opt.Option.idOption == 734 || opt.Option.idOption == 731).ToList();

        //        foreach (var option in options)
        //        {
        //            if (option != null)
        //            {
        //                #region ............
        //                if (option != null)
        //                {
        //                    List<int> lstIdOptionAttr = new List<int>();
        //                    List<string> lstValues = new List<string>();

        //                    if (option.OptionValue == null && option.Option.idOption == 701)
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 701, idLABStudy = model.idLABStudy };
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 702, idLABStudy = model.idLABStudy };
        //                    }
        //                    else if (option.OptionValue == null && option.Option.idOption == 718) // PM
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 718, idLABStudy = model.idLABStudy };
        //                    }

        //                    else if (option.OptionValue == null && option.Option.idOption == 746)
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 746, idLABStudy = model.idLABStudy };
        //                    }
        //                    else if (option.OptionValue == null && option.Option.idOption == 751)
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 751, idLABStudy = model.idLABStudy };
        //                    }
        //                    else if (option.OptionValue == null && option.Option.idOption == 755)
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 755, idLABStudy = model.idLABStudy };
        //                    }
        //                    else if (option.OptionValue == null && option.Option.idOption == 710) // Pays de residence PP
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 710, idLABStudy = model.idLABStudy };
        //                    }
        //                    else if (option.OptionValue == null && option.Option.idOption == 738) // Pays de residence PM
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 738, idLABStudy = model.idLABStudy };
        //                    }
        //                    else if (option.OptionValue == null && option.Option.idOption == 734) // Forme Juridique Appartenance
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 734, idLABStudy = model.idLABStudy };
        //                    }
        //                    else if (option.OptionValue == null && option.Option.idOption == 731) // Forme Juridique Appartenance
        //                    {
        //                        option.OptionValue = new LABStudyOptionValue() { idOption = 731, idLABStudy = model.idLABStudy };
        //                    }

        //                    if (option.Option.idOption == 701)
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                            Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.USERNAME)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.USERFIRSTNAME)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.MOBILE)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.EMAIL)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.MAIDENNAME)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.DATEOFBIRTH)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.PLACEOFBIRTH)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.PRIVATEPHONE)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FAX)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.PROFESSIONALPHONE)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FISCALADDRRESS)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FISCALZIPCODE)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FISCALCITY)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.ADRESS)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.ZIPCODE)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.CITY)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.COUNTRY)
        //                        ,Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.NATIONALITY)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.NATIONALITYIFDOUBLE)
        //                        };

        //                        lstValues = new List<String>() { 
        //                            model.Customer.User.UserName
        //                        , model.Customer.User.UserFirstName
        //                        , model.Customer.User.UserMobilePhone
        //                        , model.Customer.User.UserEmail
        //                        , model.Customer.MaidenName
        //                        , (model.Customer.DateOfBirth.HasValue) ? model.Customer.DateOfBirth.Value.ToString("dd/MM/yyyy") : null
        //                        , model.Customer.PlaceOfBirth
        //                        , model.Customer.PrivatePhone
        //                        , model.Customer.Fax
        //                        , model.Customer.ProfessionalPhone
        //                        , model.Customer.FiscalAddrress
        //                        , model.Customer.FiscalZipCode
        //                        , model.Customer.FiscalCity
        //                        , model.Customer.Adress
        //                        , model.Customer.ZipCode
        //                        , model.Customer.City
        //                        , model.Customer.Country
        //                        , model.Customer.Nationality
        //                        , model.Customer.NationalityIfDouble
        //                        };
        //                    }
        //                    else if (option.Option.idOption == 718) // cas PM
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                            Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.SIGLE)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.NUMRCS)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.CITYREGISTRATION)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.NUMSIREN)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.DATEREGISTRATION)
        //                        , Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.COMPANYNAME)
        //                        };

        //                        lstValues = new List<String>() { 
        //                            model.Customer.Sigle
        //                        , model.Customer.NumRCS
        //                        , model.Customer.CityRegistration
        //                        , model.Customer.NumSIREN
        //                        , (model.Customer.DateRegistration.HasValue) ? model.Customer.DateRegistration.Value.ToString("dd/MM/yyyy") : null
        //                        , model.Customer.CompanyName
        //                        };
        //                    }
        //                    if (option.Option.idOption == 710) // Cas PP
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                             Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.COUNTRY)
        //                        };

        //                        lstValues = new List<String>() { 
        //                            model.Customer.Country
        //                        };
        //                    }
        //                    if (option.Option.idOption == 738) // Cas PM
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                             Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.COUNTRY_PM)
        //                        };

        //                        lstValues = new List<String>() { 
        //                            model.Customer.Country
        //                        };
        //                    }
        //                    else if (option.Option.idOption == 746)
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                              Convert.ToInt16(NUMOPTIONATTRIBUTE_SOCIETECOTEE_PM.SUR_QUEL_MARCHE)
        //                            , Convert.ToInt16(NUMOPTIONATTRIBUTE_SOCIETECOTEE_PM.ADRESSE_SIEGE)
        //                            , Convert.ToInt16(NUMOPTIONATTRIBUTE_SOCIETECOTEE_PM.CODE_POSTAL)
        //                            , Convert.ToInt16(NUMOPTIONATTRIBUTE_SOCIETECOTEE_PM.VILLE)
        //                        };

        //                        lstValues = new List<String>() { 
        //                              model.Customer.Market
        //                            , model.Customer.Adress
        //                            , model.Customer.ZipCode
        //                            , model.Customer.City
        //                        };
        //                    }
        //                    else if (option.Option.idOption == 751)
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                              Convert.ToInt16(NUMOPTIONATTRIBUTE_SECTEUR_ACTIVITE_PM.INDUSTRY)
        //                            , Convert.ToInt16(NUMOPTIONATTRIBUTE_SECTEUR_ACTIVITE_PM.OTHER_INDUSTRY)
        //                        };

        //                        lstValues = new List<String>() { 
        //                              model.Customer.Industry
        //                            , model.Customer.OtherIndustry
        //                        };
        //                    }
        //                    else if (option.Option.idOption == 755)
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                              Convert.ToInt16(NUMOPTIONATTRIBUTE_SECTEUR_ACTIVITE_PM.INDUSTRY_RESTRICTION)
        //                        };

        //                        lstValues = new List<String>() { 
        //                             model.Customer.IndustryRestriction
        //                        };
        //                    }
        //                    else if (option.Option.idOption == 745) // PM
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                               Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FISCALADDRRESS_PM)
        //                              ,Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.EMAIL_PM)
        //                              ,Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.PRIVATEPHONE_PM)
        //                              ,Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FISCALZIPCODE_PM)
        //                              ,Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FISCALCITY_PM)
        //                        };

        //                        lstValues = new List<String>() { 
        //                             model.Customer.FiscalAddrress
        //                            ,model.Customer.Email
        //                            ,model.Customer.PrivatePhone
        //                            ,model.Customer.FiscalZipCode
        //                            ,model.Customer.FiscalCity
        //                        };
        //                    }
        //                    else if (option.Option.idOption == 734) // Forme Juridique APPARTENANCE
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                               Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FORME_JURIDIQUE_APPARTENANCE)
        //                        };

        //                        lstValues = new List<String>() { 
        //                             model.Customer.LegalForm_Appartenance_Groupe
        //                        };
        //                    }
        //                    else if (option.Option.idOption == 731) // Forme Juridique AUTRE
        //                    {
        //                        lstIdOptionAttr = new List<int>() 
        //                        {   
        //                               Convert.ToInt16(NUMOPTIONATTRIBUTE_IDENTITE.FORME_JURIDIQUE_AUTRE)
        //                        };

        //                        lstValues = new List<String>() { 
        //                             model.Customer.LegalForm_Autre
        //                        };
        //                    }

        //                    FindAndReplaceValue(option.OptionValue, lstIdOptionAttr, lstValues);
        //                }
        //                #endregion
        //            }
        //        }

        //        #region Identité "Etes vous majeur" GESTION DES RADIOBUTTON
        //        if (model.Customer.LegalCapacity != null)
        //        {
        //            model = ClearRadioSelectionByIdParent(model, 702);

        //            if (model.Customer.LegalCapacity.CompareTo("Mineur non émancipé") == 0)
        //            {
        //                var optValMineurEmancipe = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_032").FirstOrDefault();
        //                if (optValMineurEmancipe != null) optValMineurEmancipe.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalCapacity.CompareTo("Majeur capable") == 0)
        //            {
        //                var optValMajeurCapable = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_015").FirstOrDefault();
        //                if (optValMajeurCapable != null) optValMajeurCapable.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalCapacity.CompareTo("Majeur sous tutelle") == 0)
        //            {
        //                var optValMajeurSousTutelle = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_016").FirstOrDefault();
        //                if (optValMajeurSousTutelle != null) optValMajeurSousTutelle.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalCapacity.CompareTo("Majeur sous curatelle") == 0)
        //            {
        //                var optValMajeurSousCuratelle = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_017").FirstOrDefault();
        //                if (optValMajeurSousCuratelle != null) optValMajeurSousCuratelle.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalCapacity.CompareTo("Majeur sous sauvegarde de justice") == 0)
        //            {
        //                var optValMajeurSousSauvegardeJustice = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_018").FirstOrDefault();
        //                if (optValMajeurSousSauvegardeJustice != null) optValMajeurSousSauvegardeJustice.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalCapacity.CompareTo("Mineur émancipé") == 0)
        //            {
        //                var optVal1150 = model.OptionData.Where(o => o.Option.idOption == 1150).FirstOrDefault();
        //                if (optVal1150 != null) optVal1150.IsSelected = true;
        //            }
        //        }
        //        #endregion

        //        #region MARITAL STATUS
        //        //model = ClearRadioSelectionByIdParent(model, XXXXX);
        //        //if (model.Customer.MaritalStatus != null)
        //        //{
        //        //    if (model.Customer.MaritalStatus.Contains(_NON))
        //        //    {
        //        //        var optVal = model.OptionData.Where(o => o.Option.NameKey == "").FirstOrDefault();
        //        //        if (optVal != null) optVal.IsSelected = true;
        //        //    }
        //        //    else if (model.Customer.MaritalStatus.Contains(_CELIBATAIRE))
        //        //    {
        //        //        var optVal = model.OptionData.Where(o => o.Option.NameKey == "").FirstOrDefault();
        //        //        if (optVal != null) optVal.IsSelected = true;
        //        //    }
        //        //    else if (model.Customer.MaritalStatus.Contains(_DIVORCE))
        //        //    {
        //        //        var optVal = model.OptionData.Where(o => o.Option.NameKey == "").FirstOrDefault();
        //        //        if (optVal != null) optVal.IsSelected = true;
        //        //    }
        //        //    else if (model.Customer.MaritalStatus.Contains(_SEPARE))
        //        //    {
        //        //        var optVal = model.OptionData.Where(o => o.Option.NameKey == "").FirstOrDefault();
        //        //        if (optVal != null) optVal.IsSelected = true;
        //        //    }
        //        //    else if (model.Customer.MaritalStatus.Contains(_PACS))
        //        //    {
        //        //        var optVal = model.OptionData.Where(o => o.Option.NameKey == "").FirstOrDefault();
        //        //        if (optVal != null) optVal.IsSelected = true;
        //        //    }
        //        //    else if (model.Customer.MaritalStatus.Contains(_VEUF))
        //        //    {
        //        //        var optVal = model.OptionData.Where(o => o.Option.NameKey == "").FirstOrDefault();
        //        //        if (optVal != null) optVal.IsSelected = true;
        //        //    }
        //        //    else if (model.Customer.MaritalStatus.Contains(_CONCUBIN))
        //        //    {
        //        //        var optVal = model.OptionData.Where(o => o.Option.NameKey == "").FirstOrDefault();
        //        //        if (optVal != null) optVal.IsSelected = true;
        //        //    }
        //        //    //else if (model.TargetCustomer.MaritalStatus.Contains(_MARIE))
        //        //    //{
        //        //    //    var optVal = model.OptionData.Where(o => o.Option.NameKey == 218).FirstOrDefault();
        //        //    //    if (optVal != null) optVal.IsSelected = true;
        //        //    //}
        //        //    //else if (model.TargetCustomer.MaritalStatus.Contains(_UNION_LIBRE))
        //        //    //{
        //        //    //    var optVal = model.OptionData.Where(o => o.Option.NameKey == 218).FirstOrDefault();
        //        //    //    if (optVal != null) optVal.IsSelected = true;
        //        //    //}
        //        //}
        //        #endregion

        //        #region IsResident
        //        if (model.Customer.IsCorporation.HasValue && !model.Customer.IsCorporation.Value)
        //        {
        //            // PP
        //            model = ClearRadioSelectionByIdParent(model, 707);
        //            if (model.Customer.IsResident != null)
        //            {
        //                if (model.Customer.IsResident.Value)
        //                {
        //                    var optValResident = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_022").FirstOrDefault();
        //                    if (optValResident != null) optValResident.IsSelected = true;
        //                }
        //                else
        //                {
        //                    var optValNonResident = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_023").FirstOrDefault();
        //                    if (optValNonResident != null) optValNonResident.IsSelected = true;
        //                }
        //            }
        //        }
        //        else
        //        {
        //            // PM TODO
        //            if (model.Customer.IsResident != null)
        //            {
        //                model = ClearRadioSelectionByIdParent(model, 735);
        //                if (model.Customer.IsResident.Value)
        //                {
        //                    var optValResident = model.OptionData.Where(o => o.Option.idOption == 736).FirstOrDefault();
        //                    if (optValResident != null) optValResident.IsSelected = true;
        //                }
        //                else
        //                {
        //                    var optValNonResident = model.OptionData.Where(o => o.Option.idOption == 737).FirstOrDefault();
        //                    if (optValNonResident != null) optValNonResident.IsSelected = true;
        //                }
        //            }
        //        }
        //        #endregion

        //        #region GAFI(OptionAttribute)
        //        if (model.Customer.IsCorporation.HasValue && !model.Customer.IsCorporation.Value)
        //        {
        //            // PP
        //            if (model.Customer.Gafi != null)
        //            {
        //                model = ClearRadioSelectionByIdParent(model, 711);
        //                if (model.Customer.Gafi.Value)
        //                {
        //                    var optValOui = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_027").FirstOrDefault();
        //                    if (optValOui != null) optValOui.IsSelected = true;
        //                }
        //                else
        //                {
        //                    var optValNon = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_028").FirstOrDefault();
        //                    if (optValNon != null) optValNon.IsSelected = true;
        //                }
        //            }
        //        }
        //        else
        //        {
        //            // PM
        //            if (model.Customer.Gafi != null)
        //            {
        //                model = ClearRadioSelectionByIdParent(model, 739);

        //                if (model.Customer.Gafi.Value)
        //                {
        //                    var optValOui = model.OptionData.Where(o => o.Option.idOption == 740).FirstOrDefault();
        //                    if (optValOui != null) optValOui.IsSelected = true;
        //                }
        //                else
        //                {
        //                    var optValNon = model.OptionData.Where(o => o.Option.idOption == 741).FirstOrDefault();
        //                    if (optValNon != null) optValNon.IsSelected = true;
        //                }
        //            }
        //        }
        //        #endregion

        //        #region OFFSHORE(OptionAttribute)
        //        if (model.Customer.IsCorporation.HasValue && !model.Customer.IsCorporation.Value)
        //        {
        //            // PP
        //            if (model.Customer.OffShore != null)
        //            {
        //                model = ClearRadioSelectionByIdParent(model, 714);
        //                if (model.Customer.OffShore.Value)
        //                {
        //                    var optValOui = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_030").FirstOrDefault();
        //                    if (optValOui != null) optValOui.IsSelected = true;
        //                }
        //                else
        //                {
        //                    var optValNon = model.OptionData.Where(o => o.Option.NameKey == "LABPP_Client_031").FirstOrDefault();
        //                    if (optValNon != null) optValNon.IsSelected = true;
        //                }
        //            }
        //        }
        //        else
        //        {
        //            // PM

        //            if (model.Customer.OffShore != null)
        //            {
        //                model = ClearRadioSelectionByIdParent(model, 742);
        //                if (model.Customer.OffShore.Value)
        //                {
        //                    var optValOui = model.OptionData.Where(o => o.Option.idOption == 743).FirstOrDefault();
        //                    if (optValOui != null) optValOui.IsSelected = true;
        //                }
        //                else
        //                {
        //                    var optValNon = model.OptionData.Where(o => o.Option.idOption == 744).FirstOrDefault();
        //                    if (optValNon != null) optValNon.IsSelected = true;
        //                }
        //            }
        //        }
        //        #endregion

        //        #region Forme Juridique
        //        if (model.Customer.IsCorporation.HasValue && model.Customer.IsCorporation.Value)
        //        {
        //            model = ClearRadioSelectionByIdParent(model, 720);

        //            // Gestion RadioButton (FormeJuridique)
        //            if (model.Customer.LegalForm == "SA")
        //            {
        //                var optVal721 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.SA).FirstOrDefault();
        //                if (optVal721 != null) optVal721.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "SARL")
        //            {
        //                var optVal544 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.SARL).FirstOrDefault();
        //                if (optVal544 != null) optVal544.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "SAS")
        //            {
        //                var optVal543 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.SAS).FirstOrDefault();
        //                if (optVal543 != null) optVal543.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "SC_IS" || model.Customer.LegalForm == "SC_IR")
        //            {
        //                var optVal546 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.SC).FirstOrDefault();
        //                if (optVal546 != null) optVal546.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "EURL")
        //            {
        //                var optVal545 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.EURL).FirstOrDefault();
        //                if (optVal545 != null) optVal545.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "Association_IS" || model.Customer.LegalForm == "Association_IR")
        //            {
        //                var optVal728 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.ASSOCIATION).FirstOrDefault();
        //                if (optVal728 != null) optVal728.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm != null && model.Customer.LegalForm.IndexOf("Appartenance", 0) == 0)
        //            {
        //                var optVal734 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.APPARTENANCE).FirstOrDefault();
        //                if (optVal734 != null) optVal734.IsSelected = true;
        //            }
        //            else // Sinon on coche AUTRE
        //            {
        //                var optVal731 = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.AUTRE).FirstOrDefault();
        //                if (optVal731 != null) optVal731.IsSelected = true;
        //            }

        //            #region Société Civile (S.C.) => IS ou IR
        //            model = ClearRadioSelectionByIdParent(model, 725);
        //            if (model.Customer.LegalForm == "SC_IS")
        //            {
        //                var optVal = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.SC_IS).FirstOrDefault();
        //                if (optVal != null) optVal.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "SC_IR")
        //            {
        //                var optVal = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.SC_IR).FirstOrDefault();
        //                if (optVal != null) optVal.IsSelected = true;
        //            }
        //            #endregion

        //            #region Association => IS ou IR
        //            model = ClearRadioSelectionByIdParent(model, 728);
        //            if (model.Customer.LegalForm == "Association_IS")
        //            {
        //                var optVal = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.Association_IS).FirstOrDefault();
        //                if (optVal != null) optVal.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "Association_IR")
        //            {
        //                var optVal = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.Association_IR).FirstOrDefault();
        //                if (optVal != null) optVal.IsSelected = true;
        //            }
        //            #endregion

        //            #region Autre => IS ou IR
        //            model = ClearRadioSelectionByIdParent(model, 731);
        //            if (model.Customer.LegalForm == "Autre_IS")
        //            {
        //                var optVal = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.Autre_IS).FirstOrDefault();
        //                if (optVal != null) optVal.IsSelected = true;
        //            }
        //            else if (model.Customer.LegalForm == "Autre_IR")
        //            {
        //                var optVal = model.OptionData.Where(o => o.Option.idOption == (int)NUMOPTION_FORME_JURIDIQUE_PM.Autre_IR).FirstOrDefault();
        //                if (optVal != null) optVal.IsSelected = true;
        //            }
        //            #endregion
        //        }
        //        #endregion

        //        #region "Champs (ListedCompany, Market, Industry, OtherIndustry, HasIndustryRestriction, IndustryRestriction, RestrictionPreventInvest)"
        //        #region ListedCompany
        //        if (model.Customer.ListedCompany != null)
        //        {
        //            model = ClearRadioSelectionByIdParent(model, 747);

        //            if (model.Customer.ListedCompany.Value)
        //            {
        //                var optValOui = model.OptionData.Where(o => o.Option.NameKey == "LABPM_Client_038").FirstOrDefault();
        //                if (optValOui != null) optValOui.IsSelected = true;
        //            }
        //            else
        //            {
        //                var optValNon = model.OptionData.Where(o => o.Option.NameKey == "LABPM_Client_039").FirstOrDefault();
        //                if (optValNon != null) optValNon.IsSelected = true;
        //            }
        //        }
        //        #endregion
        //        #endregion

        //        #region "Secteur d’activité (Industry, OtherIndustry, HasIndustryRestriction, IndustryRestriction, RestrictionPreventInvest)"
        //        #region HasIndustryRestriction
        //        if (model.Customer.HasIndustryRestriction != null)
        //        {
        //            model = ClearRadioSelectionByIdParent(model, 752);

        //            if (model.Customer.HasIndustryRestriction.Value)
        //            {
        //                var optValOui = model.OptionData.Where(o => o.Option.NameKey == "LABPM_Client_047").FirstOrDefault();
        //                if (optValOui != null) optValOui.IsSelected = true;
        //            }
        //            else
        //            {
        //                var optValNon = model.OptionData.Where(o => o.Option.NameKey == "LABPM_Client_048").FirstOrDefault();
        //                if (optValNon != null) optValNon.IsSelected = true;
        //            }
        //        }
        //        #endregion

        //        #region RestrictionPreventInvest
        //        if (model.Customer.RestrictionPreventInvest != null)
        //        {
        //            model = ClearRadioSelectionByIdParent(model, 756);

        //            if (model.Customer.RestrictionPreventInvest.Value)
        //            {
        //                var optValOui = model.OptionData.Where(o => o.Option.NameKey == "LABPM_Client_051").FirstOrDefault();
        //                if (optValOui != null) optValOui.IsSelected = true;
        //            }
        //            else
        //            {
        //                var optValNon = model.OptionData.Where(o => o.Option.NameKey == "LABPM_Client_052").FirstOrDefault();
        //                if (optValNon != null) optValNon.IsSelected = true;
        //            }
        //        }
        //        #endregion
        //        #endregion
        //    }

        //    return actionResult;
        //}

        private LABStudyModel ClearRadioSelectionByIdParent(LABStudyModel model, int idParent)
        {
            // Effacer les valeurs par defaut des options
            var lstOptionLegalForm = model.OptionData.Where(o => o.Option.idParent == idParent).ToList();
            if (lstOptionLegalForm != null)
            {
                foreach (var opt in lstOptionLegalForm)
                {
                    opt.IsSelected = false;
                }
            }

            return model;
        }
        public List<LABStudyOptionValue> GetSelectedOptionsFromPostData(LABStudyModel _dataModel, int idParent)
        {
            CustomerProspect currentCustomer = CustomerProspectBL.GetCustomerProspectById(_dataModel.idCustomer);
            List<LABStudyOptionValue> retVal = new List<LABStudyOptionValue>();

            // idOption = 717 (LabStudy/QuestionClient)
            Option ParentOption = _dataModel.Option.Where(o => o.idOption.Equals(idParent)).FirstOrDefault();

            if (ParentOption != null)
            {
                // => Identité - Forme Juridique - Société cotée - Secteur d’activité
                // => idOption = 718 - 719 - 746 - 750
                var ChildOptions = _dataModel.Option.Where(o => o.idParent.HasValue && o.idParent.Value.Equals(ParentOption.idOption));
                foreach (var childOp in ChildOptions)
                {
                    if (childOp.idParent == 725)
                    { }

                    bool isSelected = !ParentOption.SingleOption.HasValue;
                    string idPrefix = string.Empty;
                    if (ParentOption.SingleOption.HasValue)
                    {
                        if (ParentOption.SingleOption.Value) idPrefix = "hdn_rb_{0}_{1}";
                        else idPrefix = "hdn_chk_{0}_{1}";

                        string postDataName = string.Format(idPrefix, childOp.idParent.Value, childOp.idOption);
                        if (!string.IsNullOrEmpty(Request.Params[postDataName]) && Request.Params[postDataName].ToLower().Equals("c"))
                        {
                            isSelected = true;
                        }
                    }

                    if (isSelected)
                    {
                        LABStudyOptionValue newVal = new LABStudyOptionValue();
                        newVal.idLABStudy = _dataModel.LABStudy.idLABStudy;
                        newVal.idOption = childOp.idOption;
                        newVal.Option = childOp;
                        retVal.Add(newVal);

                        if (_dataModel.Option.Count(o => o.idParent.HasValue && o.idParent.Value.Equals(childOp.idOption)) > 0)
                        {
                            retVal.AddRange(GetSelectedOptionsFromPostData(_dataModel, childOp.idOption));

                            #region Mise à jour du CustomerProspec
                            if (childOp.idParent.Value == 702)
                            {
                                switch (childOp.idOption)
                                {
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.ISMAJOR1: currentCustomer.LegalCapacity = "Majeur capable"; break;
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.ISMAJOR2: currentCustomer.LegalCapacity = "Majeur sous tutelle"; break;
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.ISMAJOR3: currentCustomer.LegalCapacity = "Majeur sous curatelle"; break;
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.ISMAJOR4: currentCustomer.LegalCapacity = "Majeur sous sauvegarde de justice"; break;
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.ISMAJOR6: currentCustomer.LegalCapacity = "Mineur émancipé"; break;
                                }

                                if (childOp.NameKey.CompareTo("LABPP_Client_032") == 0)
                                    currentCustomer.LegalCapacity = "Mineur non émancipé";
                            }
                            else if (childOp.idParent.Value == 707)
                            {
                                switch (childOp.idOption)
                                {
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.ISRESIDENT: currentCustomer.IsResident = isSelected; break;
                                }
                            }
                            else if (childOp.idParent.Value == 711)
                            {
                                switch (childOp.idOption)
                                {
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.GAFI: currentCustomer.Gafi = isSelected; break;
                                }
                            }
                            else if (childOp.idParent.Value == 714)
                            {
                                switch (childOp.idOption)
                                {
                                    case (int)NUMOPTIONATTRIBUTE_IDENTITE.OFFSHORE: currentCustomer.OffShore = isSelected; break;
                                }
                            }
                            #endregion
                        }
                    }
                }
            }

            CustomerProspectBL.Update(currentCustomer);

            return retVal;
        }
        public List<LABStudyOptionValue> GetSelectedOptions(LABStudyModel _dataModel)
        {
            List<LABStudyOptionValue> retVal = new List<LABStudyOptionValue>();

            var ParentOptions = _dataModel.Option.Where(o => !o.idParent.HasValue);
            if (ParentOptions != null)
            {
                foreach (var parent in ParentOptions)
                {
                    LABStudyOptionValue _parent = new LABStudyOptionValue();
                    _parent.idLABStudy = _dataModel.LABStudy.idLABStudy;
                    _parent.idOption = parent.idOption;
                    _parent.Option = parent;
                    retVal.Add(_parent);

                    var selectedChild = GetSelectedOptionsFromPostData(_dataModel, parent.idOption);
                    if (selectedChild.Count > 0)
                    {
                        LABStudyOptionValue newVal = new LABStudyOptionValue();
                        newVal.idLABStudy = _dataModel.LABStudy.idLABStudy;
                        newVal.idOption = parent.idOption;
                        newVal.Option = parent;
                        retVal.Add(newVal);
                        retVal.AddRange(selectedChild);
                    }
                }
            }

            return retVal;
        }
        public void SaveLABStudy(LABStudyModel _dbData)
        {
            //Save LAB Study to Database
            LABStudyBL.SaveLABStudy(_dbData.LABStudy);
            _dbData.LABStudy = LABStudyBL.GetLatestLABStudyByIdCustomerProspect(_dbData.idCustomer);

            //Retrieve Responses from Post Data
            foreach (LABQuestion _question in _dbData.LABQuestions)
            {
                string rbIdentifier = string.Format("rb_{0}_", _question.idLABQuestion);
                var rbKeys = Request.Params.AllKeys.Where(k => k.StartsWith(rbIdentifier)).ToList();
                int? _responseID = null;
                foreach (string rbKey in rbKeys)
                {
                    if (Request.Params[rbKey].ToLower().Equals("c"))
                    {
                        //_responseID = int.Parse(rbKey.Replace(rbIdentifier, ""));
                        string[] arrKeys = rbKey.Split('_');
                        //[0] => rb
                        //[1] => questionId
                        //[2] => responseId
                        //[3] => riskId
                        //[4] => vigilanceId
                        _responseID = int.Parse(arrKeys[2]);
                    }
                }
                if (_responseID.HasValue)
                {
                    var _answer = _dbData.LABAnswers.Where(a => a.idLABQuestion.Equals(_question.idLABQuestion)).FirstOrDefault();
                    if (_answer != null)
                    {
                        _answer.idResponse = _responseID.Value;
                    }
                    else
                    {
                        LABAnswer newAnswer = new LABAnswer()
                        {
                            idLABAnswer = GuidHelper.GenerateGuid(),
                            idLABStudy = _dbData.idLABStudy,
                            idLABQuestion = _question.idLABQuestion,
                            idResponse = _responseID.Value,
                            DateCreated = DateTime.Now
                        };
                        _dbData.LABAnswers.Add(newAnswer);
                    }
                }
            }

            LABAnswerBL.SaveAndProcessAnswers(_dbData.LABStudy, _dbData.LABAnswers);
        }
        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
            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);
            }

        }