public static void GenerateAppendixDocByMerge(Upsilab.Data.Model.MissionDocumentAppendix missionDocAppendix, string sourcePathFilename, string destPathFilename, bool forceDownload, out int nbPages)
        {
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();

            MissionDocument missionDoc = missionDocAppendix.MissionDocument;
            FirmInstitution firmInstitution = missionDoc.CustomerProspect.FirmInstitution;
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(firmInstitution.idFirmInstitution) + firmInstitution.Logo;
            string docTitle = missionDocAppendix.Designation;
            string ownerName = string.Empty; //empty ??

            pdfGen.GenerateMergeDocument(missionDoc.CustomerProspect.IsCorporation.Value, missionDocAppendix.idMissionDocumentAppendix, sourcePathFilename, destPathFilename, logoPathFileName, forceDownload, out nbPages, FoxitPDFGenerator.DocumentType.AX, firmInstitution.LogoAlign, docTitle, ownerName);
        }
        public static void GenerateRTOByMerge(Upsilab.Data.Model.MissionDocument pMissionDoc, string RtoPath, string pathFileName, bool forceDownload, out int nbPages)
        {
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();

            FirmInstitution firmInstitution = pMissionDoc.CustomerProspect.FirmInstitution;
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(firmInstitution.idFirmInstitution) + firmInstitution.Logo;
            string docTitle = string.Empty; //TODO : multilingue
            string ownerName = string.Empty; //empty??

            pdfGen.GenerateMergeDocument(pMissionDoc.CustomerProspect.IsCorporation.Value, pMissionDoc.idMissionDocument, RtoPath, pathFileName, logoPathFileName, forceDownload, out nbPages, FoxitPDFGenerator.DocumentType.RTO, firmInstitution.LogoAlign, docTitle, ownerName);

        }
        public static void GeneratePresentationByMerge(FirmInstitution pFirm, string presentationPath, string pathFileName, bool forceDownload, out int nbPages)
        {
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(pFirm.idFirmInstitution) + pFirm.Logo;
            string docTitle = string.Empty; //TODO
            string ownerName = string.Empty; //TODO

            pdfGen.GenerateMergeDocument(null, pFirm.idFirmInstitution, presentationPath, pathFileName, logoPathFileName, forceDownload, out nbPages, FoxitPDFGenerator.DocumentType.BS, pFirm.LogoAlign, docTitle, ownerName);
        }
        /// <summary>
        /// Génération d'un PDF selon le modèle du client (Merging PDF)
        /// </summary>
        /// <param name="pMissionDoc"></param>
        /// <param name="letterPath">Chemin complet de la lettre de mission à merger</param>
        /// <param name="pathFileName">Chemin complet du fichier pdf généré</param>
        /// <param name="forceDownload"></param>
        /// <param name="nbPages">Nb de pages du PDF généré</param>
        public static void GenerateEngagementLetterByMerge(Upsilab.Data.Model.MissionDocument pMissionDoc, string letterPath, string pathFileName, bool forceDownload, out int nbPages)
        {
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();

            FirmInstitution firmInstitution = pMissionDoc.CustomerProspect.FirmInstitution;
            string logoPathFileName = Upsilab.Business.Utility.FileManager.BuildLogoPath(firmInstitution.idFirmInstitution) + firmInstitution.Logo;
            string docTitle = string.Empty; //TODO : multilingue
            string ownerName = pMissionDoc.CustomerProspect.IsCorporation.Value ? pMissionDoc.CustomerProspect.CompanyName : string.Format("{0} {1}", pMissionDoc.CustomerProspect.User.UserName, pMissionDoc.CustomerProspect.User.UserFirstName);

            pdfGen.GenerateMergeDocument(pMissionDoc.CustomerProspect.IsCorporation.Value, pMissionDoc.idMissionDocument, letterPath, pathFileName, logoPathFileName, forceDownload, out nbPages, FoxitPDFGenerator.DocumentType.LM, firmInstitution.LogoAlign, docTitle, ownerName);
        }
        public static void GenerateVigilanceMeasure(Data.Model.VigilanceMeasure vigilanceMeasure, List<string> uploadedPDF, string pathFileName)
        {
            FoxitPDFGenerator pdfGen = new FoxitPDFGenerator();

            //Generate first page vigilance measure
            byte[] measureFirstPages = GenerateVigilanceMeasure(vigilanceMeasure);

            //Merge with uploaded pdfs
            pdfGen.GenerateMergeDocument(measureFirstPages, uploadedPDF, pathFileName);
        }