public AmarisMail.Attachment GenerateLoanCertificateAttachmentPdf(string viewString) { Dictionary<string, object> templateModel = new Dictionary<string, object>(); templateModel.Add("loanedArticles", viewString); var list = TemplateExtensions.GetApplicationTemplates("AmarisGate"); if (!list.Any()) return new AmarisMail.Attachment("", new byte[0], ""); var template = TemplateExtensions.GetTemplateData(list.Last().TemplateId); var byteArray = template.DocumentData; var msTemplate = Document.GenerateDocument(byteArray, templateModel); var ms = new FileGenerator(msTemplate.ToArray()).ConvertTextHtmlOfContentControl(msTemplate.ToArray(), new[] { "loanedArticles" }); return new AmarisMail.Attachment("LoanCertificate.pdf", ms.ToArray(), "application/pdf"); }
// Generate the pdf public ActionResult GenerateLoanCertificatePDF(int materialRequestId) { var listLoans = DB.GenericMaterials.Where(material => material.LoanRequested && material.ComponentRequests.Any(request => request.MaterialRequestId == materialRequestId)).ToList(); var viewString = RenderViewToString("_LoanArticles", listLoans); Dictionary<string, object> templateModel = new Dictionary<string, object>(); templateModel.Add("loanedArticles", viewString); var list = TemplateExtensions.GetApplicationTemplates("AmarisGate"); if (!list.Any()) return HttpNotFound(); var template = TemplateExtensions.GetTemplateData(list.Last().TemplateId); var byteArray = template.DocumentData; var msTemplate = Document.GenerateDocument(byteArray, templateModel); var ms = new FileGenerator(msTemplate.ToArray()).ConvertTextHtmlOfContentControl(msTemplate.ToArray(), new[] { "loanedArticles" }); //return the file return File(ms.ToArray(), "application/pdf", "LoanCertificate.pdf"); }