public DTO.CostInvoiceMng.InvoiceContainerPrintout DB2DTO_Printout(CostInvoice_ReportView dbItem) { DTO.CostInvoiceMng.InvoiceContainerPrintout dtoItem = new DTO.CostInvoiceMng.InvoiceContainerPrintout(); dtoItem.Invoices = new List <DTO.CostInvoiceMng.InvoicePrintout>(); dtoItem.InvoiceDetails = new List <DTO.CostInvoiceMng.InvoiceDetailPrintout>(); DTO.CostInvoiceMng.InvoicePrintout dtoInvoice = AutoMapper.Mapper.Map <CostInvoice_ReportView, DTO.CostInvoiceMng.InvoicePrintout>(dbItem); dtoItem.Invoices.Add(dtoInvoice); //COPY DETATAIL DATA DTO.CostInvoiceMng.InvoiceDetailPrintout dtoInvoiceDetail; foreach (CostInvoiceDetail_ReportView dbDetail in dbItem.CostInvoiceDetail_ReportView) { dtoInvoiceDetail = new DTO.CostInvoiceMng.InvoiceDetailPrintout(); dtoInvoiceDetail.Description = dbDetail.ContainerNo; dtoItem.InvoiceDetails.Add(dtoInvoiceDetail); foreach (CostInvoiceDetailExtend_ReportView dbDetailExtend in dbDetail.CostInvoiceDetailExtend_ReportView) { dtoInvoiceDetail = new DTO.CostInvoiceMng.InvoiceDetailPrintout(); dtoInvoiceDetail.Description = dbDetailExtend.Description; dtoInvoiceDetail.TotalAmount = dbDetailExtend.Amount; dtoItem.InvoiceDetails.Add(dtoInvoiceDetail); } //CREATE BLANK ROW dtoInvoiceDetail = new DTO.CostInvoiceMng.InvoiceDetailPrintout(); dtoInvoiceDetail.Description = ""; dtoItem.InvoiceDetails.Add(dtoInvoiceDetail); } return(dtoItem); }
public IHttpActionResult PrintInvoice(int id) { Library.DTO.Notification notification; // authentication Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanPrint)) { return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } //GET DATA BLL.CostInvoiceMng bll = new BLL.CostInvoiceMng(); DTO.CostInvoiceMng.InvoiceContainerPrintout dtoPrintout = bll.GetPrintoutData(id, ControllerContext.GetAuthUserId(), out notification); //CREATE PRINTOUT Microsoft.Reporting.WebForms.LocalReport lr = new Microsoft.Reporting.WebForms.LocalReport(); lr.ReportPath = FrameworkSetting.Setting.AbsoluteReportFolder + "CostInvoicePrint.rdlc"; Microsoft.Reporting.WebForms.ReportDataSource rsInvoice = new Microsoft.Reporting.WebForms.ReportDataSource(); rsInvoice.Name = "Invoice"; rsInvoice.Value = dtoPrintout.Invoices; lr.DataSources.Add(rsInvoice); Microsoft.Reporting.WebForms.ReportDataSource rsInvoiceDetail = new Microsoft.Reporting.WebForms.ReportDataSource(); rsInvoiceDetail.Name = "InvoiceDetail"; rsInvoiceDetail.Value = dtoPrintout.InvoiceDetails; lr.DataSources.Add(rsInvoiceDetail); string printoutFileName = PrintoutHelper.BuildPrintoutFile(lr, "PDF"); return(Ok(new Library.DTO.ReturnData <string>() { Data = printoutFileName, Message = notification })); }