/// <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")); } }
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)); }