コード例 #1
0
        public ActionResult ExportSalesOrderReceipt(long salesOrderId)
        {
            var request = new SalesOrderReportRequest()
            {
                SalesOrderId = salesOrderId
            };
            var salesOrderReportGeneration = SalesOrderReportGeneration(request);

            return(salesOrderReportGeneration);
        }
コード例 #2
0
        public ActionResult GenerateSalesOrder(int reportSalesType, string salesNo = "", long customerId = 0, long salesOrderId = 0, long categoryId = 0,
                                               DateTime?startDate     = null, DateTime?endDate = null,
                                               int salesOrderStatusId = 0)
        {
            var request = new SalesOrderReportRequest()
            {
                ReportSalesType    = reportSalesType,
                SalesNo            = salesNo,
                CustomerId         = customerId,
                SalesOrderId       = salesOrderId,
                CategoryId         = categoryId,
                DateFrom           = startDate,
                DateTo             = endDate,
                SalesOrderStatusId = salesOrderStatusId
            };
            var salesOrderReportGeneration = SalesOrderReportGeneration(request);

            return(salesOrderReportGeneration);
        }
コード例 #3
0
        private FileResult SalesOrderReportGeneration(SalesOrderReportRequest request)
        {
            DataTable dt = new DataTable();

            dt = _productServices.SalesReportPerSalesNo(request.SalesNo, request.SalesOrderId);

            int rowId             = 0;
            var fileNameGenerated = string.Format("{0}_{1}{2}", LookupKey.ReportFileName.SalesReport, DateTime.Now.ToString("MMddyyyy"), ".xlsx");

            var contentType = "application/vnd.ms-excel";

            //var templateFile = new FileInfo(path);
            //var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(path);
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            var package   = new ExcelPackage();
            var workSheet = package.Workbook.Worksheets.Add(LookupKey.ReportFileName.SalesReport);

            if (dt.Rows.Count > 0)
            {
                rowId = 1;
                workSheet.Cells[rowId, 1].Value = "Sales No";
                workSheet.Cells[rowId, 2].Value = dt.Rows[0]["SalesNo"].ToString();

                workSheet.Cells[rowId, 4].Value = "Mode of Payment";
                workSheet.Cells[rowId, 5].Value = dt.Rows[0]["ModeOfPayment"].ToString();

                rowId = 2;
                workSheet.Cells[rowId, 1].Value = "Customer";
                workSheet.Cells[rowId, 2].Value = dt.Rows[0]["CustomerFullDetails"].ToString();

                workSheet.Cells[rowId, 4].Value = "Address";
                workSheet.Cells[rowId, 5].Value = dt.Rows[0]["FullAddress"].ToString();


                rowId = 5;
                workSheet.Cells[rowId, 1].Value = "PRODUCT CODE";
                workSheet.Cells[rowId, 2].Value = "PRODUCT DESCRIPTION";
                workSheet.Cells[rowId, 3].Value = "SALES QUANTITY";
                workSheet.Cells[rowId, 4].Value = "PRICE";
                workSheet.Cells[rowId, 5].Value = "SUBTOTAL";



                rowId = rowId + 1;
                for (int i = 0; i <= dt.Rows.Count - 1; i++)
                {
                    workSheet.Cells[rowId, 1].Value = dt.Rows[i]["ProductCode"].ToString();
                    workSheet.Cells[rowId, 2].Value = dt.Rows[i]["ProductDescription"].ToString();
                    workSheet.Cells[rowId, 3].Value = Convert.ToInt64(dt.Rows[i]["Quantity"].ToString());
                    workSheet.Cells[rowId, 4].Value = Convert.ToDecimal(dt.Rows[i]["UnitPrice"]).ToString("N");
                    workSheet.Cells[rowId, 5].Value = Convert.ToDecimal(dt.Rows[i]["Subtotal"]).ToString("N");
                    rowId = rowId + 1;
                }

                rowId = rowId + 2;
                workSheet.Cells[rowId, 4].Value = "Shipping Fee";
                workSheet.Cells[rowId, 5].Value = string.Format("{0:#,0.00}", Convert.ToDecimal(dt.Rows[0]["ShippingFee"]));
                rowId = rowId + 1;
                workSheet.Cells[rowId, 4].Value = "Total";
                workSheet.Cells[rowId, 5].Value = string.Format("{0:#,0.00}", Convert.ToDecimal(dt.Rows[0]["TotalAmount"]));

                workSheet.Cells.AutoFitColumns();
            }

            var memoryStream = new MemoryStream();

            //package.Save();
            package.SaveAs(memoryStream);
            memoryStream.Position = 0;

            return(File(memoryStream, contentType, fileNameGenerated));
        }
コード例 #4
0
        private FileResult SalesOrderReportGeneration(SalesOrderReportRequest request)
        {
            DataTable dt = new DataTable();

            switch (request.ReportSalesType)
            {
            case 1:
                dt = _productServices.SalesReportPerSalesNo(request.SalesNo, 0);
                break;

            case 2:
                dt = _productServices.SalesReportPerCustomerId(request.DateFrom, request.DateTo, request.CustomerId, request.SalesOrderStatusId);
                break;

            case 3:
                dt = _productServices.SalesReportPerCategoryAndDate(request.DateFrom, request.DateTo, 0, request.SalesOrderStatusId);
                break;

            case 4:
                dt = _productServices.SalesReportPerCategoryAndDate(request.DateFrom, request.DateTo, request.CategoryId, request.SalesOrderStatusId);
                break;

            default:
                break;
            }

            int rowId             = 0;
            var fileNameGenerated = string.Format("{0}_{1}{2}", LookupKey.ReportFileName.SalesReport, DateTime.Now.ToString("MMddyyyy"), ".xlsx");

            var contentType = "application/vnd.ms-excel";

            //var templateFile = new FileInfo(path);
            //var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(path);
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            var package   = new ExcelPackage();
            var workSheet = package.Workbook.Worksheets.Add(LookupKey.ReportFileName.SalesReport);

            if (dt.Rows.Count <= 0)
            {
                rowId = 1;
                workSheet.Cells[rowId, 1].Value = "No Result(s) Found";
            }
            else
            {
                if (request.ReportSalesType == 1)
                {
                    rowId = 1;
                    workSheet.Cells[rowId, 1].Value = "Sales No";
                    workSheet.Cells[rowId, 2].Value = dt.Rows[0]["SalesNo"].ToString();

                    workSheet.Cells[rowId, 4].Value = "Mode of Payment";
                    workSheet.Cells[rowId, 5].Value = dt.Rows[0]["ModeOfPayment"].ToString();

                    rowId = 2;
                    workSheet.Cells[rowId, 1].Value = "Customer";
                    workSheet.Cells[rowId, 2].Value = dt.Rows[0]["CustomerFullDetails"].ToString();

                    workSheet.Cells[rowId, 4].Value = "Address";
                    workSheet.Cells[rowId, 5].Value = dt.Rows[0]["FullAddress"].ToString();


                    rowId = 5;
                    workSheet.Cells[rowId, 1].Value = "PRODUCT CODE";
                    workSheet.Cells[rowId, 2].Value = "PRODUCT DESCRIPTION";
                    workSheet.Cells[rowId, 3].Value = "SALES QUANTITY";
                    workSheet.Cells[rowId, 4].Value = "PRICE";
                    workSheet.Cells[rowId, 5].Value = "SUBTOTAL";



                    rowId = rowId + 1;
                    for (int i = 0; i <= dt.Rows.Count - 1; i++)
                    {
                        workSheet.Cells[rowId, 1].Value = dt.Rows[i]["ProductCode"].ToString();
                        workSheet.Cells[rowId, 2].Value = dt.Rows[i]["ProductDescription"].ToString();
                        workSheet.Cells[rowId, 3].Value = Convert.ToInt64(dt.Rows[i]["Quantity"].ToString());
                        workSheet.Cells[rowId, 4].Value = Convert.ToDecimal(dt.Rows[i]["UnitPrice"]).ToString("N");
                        workSheet.Cells[rowId, 5].Value = Convert.ToDecimal(dt.Rows[i]["Subtotal"]).ToString("N");
                        rowId = rowId + 1;
                    }

                    rowId = rowId + 2;
                    workSheet.Cells[rowId, 4].Value = "Shipping Fee";
                    workSheet.Cells[rowId, 5].Value = string.Format("{0:#,0.00}", Convert.ToDecimal(dt.Rows[0]["ShippingFee"]));
                    rowId = rowId + 1;
                    workSheet.Cells[rowId, 4].Value = "Total";
                    workSheet.Cells[rowId, 5].Value = string.Format("{0:#,0.00}", Convert.ToDecimal(dt.Rows[0]["TotalAmount"]));

                    workSheet.Cells.AutoFitColumns();
                }
                else if (request.ReportSalesType == 3 || request.ReportSalesType == 4)
                {
                    rowId = 1;
                    workSheet.Cells[rowId, 1].Value  = "SALES NUMBER";
                    workSheet.Cells[rowId, 2].Value  = "CUSTOMER";
                    workSheet.Cells[rowId, 3].Value  = "PRODUCT CODE";
                    workSheet.Cells[rowId, 4].Value  = "PRODUCT DESCRIPTION";
                    workSheet.Cells[rowId, 5].Value  = "CATEGORY NAME";
                    workSheet.Cells[rowId, 6].Value  = "PREVIOUS QUANTITY";
                    workSheet.Cells[rowId, 7].Value  = "SALES QUANTITY";
                    workSheet.Cells[rowId, 8].Value  = "PRICE";
                    workSheet.Cells[rowId, 9].Value  = "TRANSACTION DATE";
                    workSheet.Cells[rowId, 10].Value = "CREATED BY";
                    workSheet.Cells[rowId, 11].Value = "MODDE OF PAYMENT";

                    rowId = rowId + 1;
                    for (int i = 0; i <= dt.Rows.Count - 1; i++)
                    {
                        workSheet.Cells[rowId, 1].Value  = dt.Rows[i]["SalesNo"] == null ? "" : "'" + dt.Rows[i]["SalesNo"].ToString();
                        workSheet.Cells[rowId, 2].Value  = dt.Rows[i]["CustomerFullDetails"].ToString();
                        workSheet.Cells[rowId, 3].Value  = dt.Rows[i]["ProductCode"].ToString();
                        workSheet.Cells[rowId, 4].Value  = dt.Rows[i]["ProductDescription"].ToString();
                        workSheet.Cells[rowId, 5].Value  = dt.Rows[i]["CategoryName"].ToString();
                        workSheet.Cells[rowId, 6].Value  = Convert.ToInt64(dt.Rows[i]["PreviousQuantity"]);
                        workSheet.Cells[rowId, 7].Value  = Convert.ToInt64(dt.Rows[i]["Quantity"]);
                        workSheet.Cells[rowId, 8].Value  = Convert.ToDecimal(dt.Rows[i]["UnitPrice"].ToString()).ToString("N");
                        workSheet.Cells[rowId, 9].Value  = dt.Rows[i]["TransactionTime"].ToString();
                        workSheet.Cells[rowId, 10].Value = dt.Rows[i]["UserFullName"].ToString();
                        workSheet.Cells[rowId, 11].Value = dt.Rows[i]["ModeOfPayment"].ToString();
                        rowId = rowId + 1;
                    }
                }
                else
                {
                    rowId = 1;
                    workSheet.Cells[rowId, 1].Value  = "SALES NUMBER";
                    workSheet.Cells[rowId, 2].Value  = "CUSTOMER";
                    workSheet.Cells[rowId, 3].Value  = "PRODUCT CODE";
                    workSheet.Cells[rowId, 4].Value  = "PRODUCT DESCRIPTION";
                    workSheet.Cells[rowId, 5].Value  = "CATEGORY NAME";
                    workSheet.Cells[rowId, 6].Value  = "PREVIOUS QUANTITY";
                    workSheet.Cells[rowId, 7].Value  = "SALES QUANTITY";
                    workSheet.Cells[rowId, 8].Value  = "PRICE";
                    workSheet.Cells[rowId, 9].Value  = "TRANSACTION DATE";
                    workSheet.Cells[rowId, 10].Value = "CREATED BY";
                    workSheet.Cells[rowId, 11].Value = "MODDE OF PAYMENT";

                    rowId = rowId + 1;
                    for (int i = 0; i <= dt.Rows.Count - 1; i++)
                    {
                        workSheet.Cells[rowId, 1].Value  = dt.Rows[i]["SalesNo"] == null ? "" : "'" + dt.Rows[i]["SalesNo"].ToString();
                        workSheet.Cells[rowId, 2].Value  = dt.Rows[i]["CustomerFullDetails"].ToString();
                        workSheet.Cells[rowId, 3].Value  = dt.Rows[i]["ProductCode"].ToString();
                        workSheet.Cells[rowId, 4].Value  = dt.Rows[i]["ProductDescription"].ToString();
                        workSheet.Cells[rowId, 5].Value  = dt.Rows[i]["CategoryName"].ToString();
                        workSheet.Cells[rowId, 6].Value  = Convert.ToInt64(dt.Rows[i]["PreviousQuantity"]);
                        workSheet.Cells[rowId, 7].Value  = Convert.ToInt64(dt.Rows[i]["Quantity"]);
                        workSheet.Cells[rowId, 8].Value  = Convert.ToDecimal(dt.Rows[i]["UnitPrice"].ToString()).ToString("N");
                        workSheet.Cells[rowId, 9].Value  = dt.Rows[i]["TransactionTime"].ToString();
                        workSheet.Cells[rowId, 10].Value = dt.Rows[i]["UserFullName"].ToString();
                        workSheet.Cells[rowId, 11].Value = dt.Rows[i]["ModeOfPayment"].ToString();
                        rowId = rowId + 1;
                    }
                }
            }



            var memoryStream = new MemoryStream();

            //package.Save();
            package.SaveAs(memoryStream);
            memoryStream.Position = 0;

            return(File(memoryStream, contentType, fileNameGenerated));
        }