public FileContentResult GetPdf(string reference)
        {
            GeneratedPdf pdf      = m_DbContext.GeneratedPdfs.Find(reference);
            MemoryStream stream   = new MemoryStream(pdf.Content);
            string       fileName = reference + ".pdf";

            return(File(stream.ToArray(), MimeMapping.GetMimeMapping(fileName), fileName));
        }
        public JsonResult GeneratePdf(string html, string header, string footer, string quoteRef)
        {
            html = PdfHelper.FormatBasePdf(html, Server.MapPath("~"));
            MemoryStream stream = new MemoryStream();

            try
            {
                Console.WriteLine("Boo");
                //pdfcrowd.Client client = new pdfcrowd.Client("reka_burmeister", "d1023d55b5e3eeb4660c3e8f60188b12");
                //client.enableBackgrounds();
                //client.enableHyperlinks();
                //client.enableImages();
                //client.setHeaderHtml(header);
                //client.setFooterHtml(footer);
                //client.setPageWidth("8.267in");
                //client.setPageHeight("11.692in");
                //client.setVerticalMargin("1.8in");
                //client.convertHtml(html, stream);
            }
            catch (Exception exception)
            {
                return(Json(new { errorMessage = exception.Message }));
            }

            byte[] content = new byte[stream.Length];
            stream.Read(content, 0, Convert.ToInt32(stream.Length));
            GeneratedPdf pdf = m_DbContext.GeneratedPdfs.Find(quoteRef);

            if (pdf == null)
            {
                pdf = new GeneratedPdf()
                {
                    Content   = content,
                    Reference = quoteRef
                };
                m_DbContext.GeneratedPdfs.Add(pdf);
            }
            else
            {
                pdf.Content = content;
                m_DbContext.Entry(pdf).State = EntityState.Modified;
            }

            m_DbContext.SaveChanges();

            return(Json(new { Success = true }));
        }