Ejemplo n.º 1
0
        /// <summary>
        /// Original File
        /// </summary>
        /// <param name="reportInvoiceViewModel"></param>
        /// <returns></returns>
        public ActionResult GenerateInvoicePdf(ReportInvoiceViewModel reportInvoiceViewModel, string bilDoc)
        {
            // refers to master page of report
            const string relativePath = "~/Views/BillingReporting/Invoice.cshtml";
            string       content;

            //get hostName
            //var hostName = Request.Url.GetLeftPart(UriPartial.Authority) + "/";

            var view = ViewEngines.Engines.FindView(ControllerContext, relativePath, null);

            SAPServiceClient.RunPrintBillingsDTO serviceModel = null;
            // for displaying view models
            //ViewData.Model = BillingReportingHelper.GenerateReportInvoiceViewModel();
            ViewData.Model = reportInvoiceViewModel;
            //HeaderInvoice(bilDoc);

            using (var writer = new StringWriter())
            {
                var context = new ViewContext(ControllerContext, view.View, ViewData, TempData, writer);
                view.View.Render(context, writer);
                writer.Flush();
                content = writer.ToString();
                byte[] pdfBuf = _pdfConverter.Convert(content, Server.MapPath("~/App_Data/"));
                if (pdfBuf == null)
                {
                    return(HttpNotFound());
                }
                return(File(pdfBuf, "application/pdf"));
            }
        }
Ejemplo n.º 2
0
        public ActionResult GenerateInvoice(string bilDoc)
        {
            RunPrintBillingsDTO serviceModel;

            try
            {
                serviceModel =
                    WCFClientManager.SAPServiceClient.GetBillingsToPrintTotal(UserManagementHelper.GetSessionId(),
                                                                              bilDoc) as RunPrintBillingsDTO;
            }
            catch (Exception ex)
            {
                ErrorSignal.FromCurrentContext().Raise(ex);
                return(RedirectToAction("Index", "Error"));
            }
            ReportInvoiceViewModel invoiceViewModel = BillingReportingHelper.GenerateInvoiceViewModel(serviceModel);

            HeaderInvoice(bilDoc);
            return(GenerateInvoicePdf(invoiceViewModel, bilDoc));
        }