示例#1
0
        static protected string mergeDocuments(string sourcepath, string destinationPath, int leadID, int claimID)
        {
            List <LeadsDocument> documents      = null;
            List <ClaimDocument> claimDocuments = null;
            List <string>        pdfs           = new List <string>();

            string mergedReportPath = null;

            documents      = LeadsUploadManager.getLeadsDocumentForExportByLeadID(leadID);
            claimDocuments = ClaimDocumentManager.GetAll(claimID);

            // add original document to list
            pdfs.Insert(0, sourcepath);

            // lead documents
            if (documents != null && documents.Count > 0)
            {
                List <string> leadPDFs = (from x in documents
                                          where x.DocumentName.Contains(".pdf")
                                          select string.Format("{0}/LeadsDocument/{1}/{2}/{3}", appPath, x.LeadId, x.LeadDocumentId, x.DocumentName)
                                          ).ToList();

                foreach (string pdf in leadPDFs)
                {
                    pdfs.Add(pdf);
                }
            }

            // claim documents
            if (claimDocuments != null && claimDocuments.Count > 0)
            {
                List <string> claimPDFs = (from x in claimDocuments
                                           where x.DocumentName.Contains(".pdf")
                                           select string.Format("{0}/ClaimDocuments/{1}/{2}/{3}", appPath, x.ClaimID, x.ClaimDocumentID, x.DocumentName)
                                           ).ToList();

                foreach (string pdf in claimPDFs)
                {
                    pdfs.Add(pdf);
                }
            }

            // mergedReportPath = Path.GetDirectoryName(sourcepath) + "\\" + Guid.NewGuid().ToString() + ".pdf";
            // mergePDFFiles(mergedReportPath, pdfs.ToArray());

            mergePDFFiles(destinationPath, pdfs.ToArray());

            return(destinationPath);
        }
        private void bindData()
        {
            int   leadID  = 0;
            int   claimID = 0;
            Leads lead    = null;
            Claim claim   = null;
            List <LeadsDocument> leadDocuments  = null;
            List <ClaimDocument> claimDocuments = null;
            List <DocumentList>  allDocuments   = new List <DocumentList>();

            int.TryParse(Core.SecurityManager.DecryptQueryString(Request.Params["q"].ToString()), out claimID);

            if (claimID > 0)
            {
                claim = ClaimsManager.Get(claimID);
                if (claim != null)
                {
                    lead = claim.LeadPolicy.Leads;

                    lblName.Text = lead.insuredName;

                    // lead documents
                    leadDocuments = LeadsUploadManager.getLeadsDocumentForExportByLeadID(leadID);
                    if (leadDocuments != null && leadDocuments.Count > 0)
                    {
                        foreach (LeadsDocument leadDocument in leadDocuments)
                        {
                            DocumentList doc = new DocumentList();
                            doc.DocumentName = leadDocument.DocumentName;
                            doc.Description  = leadDocument.Description;

                            doc.DocumentPath = string.Format("~/LeadsDocument/{0}/{1}/{2}",
                                                             leadDocument.LeadId,
                                                             leadDocument.LeadDocumentId,                                               // document id
                                                             leadDocument.DocumentName);                                                // document file name

                            allDocuments.Add(doc);
                        }
                    }

                    // claim documents
                    claimDocuments = ClaimDocumentManager.GetAll(claimID);
                    if (claimDocuments != null && claimDocuments.Count > 0)
                    {
                        foreach (ClaimDocument claimDocument in claimDocuments)
                        {
                            DocumentList doc = new DocumentList();
                            doc.DocumentName = claimDocument.DocumentName;
                            doc.Description  = claimDocument.Description;

                            doc.DocumentPath = string.Format("~/ClaimDocuments/{0}/{1}/{2}",
                                                             claimDocument.ClaimID,
                                                             claimDocument.ClaimDocumentID,                                             // document id
                                                             claimDocument.DocumentName);                                               // document file name
                            allDocuments.Add(doc);
                        }
                    }

                    gvDocument.DataSource = allDocuments;
                    gvDocument.DataBind();
                }
            }
        }