Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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
            }));
        }