Пример #1
0
        public bool IsPurchaseOperationSuccess(PurchaseOperationInformationVM itemVm)
        {
            PurchaseOperationInformation item = new PurchaseOperationInformation()
            {
                PurchaseNo    = itemVm.PurchaseNo,
                BranchId      = itemVm.BranchId,
                EmployeeId    = itemVm.EmployeeId,
                SupplierId    = itemVm.SupplierId,
                PurchaseDate  = itemVm.PurchaseDate,
                Remarks       = itemVm.Remarks,
                TotalAmount   = itemVm.TotalAmount,
                PaidAmount    = itemVm.PaidAmount,
                DueAmount     = itemVm.DueAmount,
                PurchaseItems = itemVm.PurchaseItems,
                Date          = itemVm.Date
            };

            dbContext.PurchaseOperationInformations.Add(item);
            var isSuccess = dbContext.SaveChanges() > 0;

            IsStockUpdated(itemVm.PurchaseItems, itemVm.BranchId);

            return(isSuccess);
        }
        public void ExportOneInfoToPdf(PurchaseOperationInformation purchaseInfo)
        {
            Document document;
            string   fileSavePath = fileSaveLocation.PurchaseReportPdfLocation;
            string   fileName     = "PurchaseReport" + purchaseInfo.PurchaseNo + ".pdf";

            FileStream fileStream = new FileStream(fileSavePath + fileName, FileMode.Create, FileAccess.Write, FileShare.None);

            document = new Document(PageSize.A4, 70f, 70f, 50f, 50f);
            PdfWriter pdfWriter = PdfWriter.GetInstance(document, fileStream);

            document.Open();

            document.Add(defaultReport.ReportHeader());

            // Report Info
            BaseFont  bfnInfo      = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            Font      fntInfo      = new Font(bfnInfo, 10, 1, BaseColor.BLACK);
            Font      fntInfoSmall = new Font(bfnInfo, 8, 1, BaseColor.BLACK);
            Paragraph prgInfo      = new Paragraph();

            prgInfo.Alignment = Element.ALIGN_LEFT;
            prgInfo.Add((new Chunk("Purchase No: ", fntInfo)));
            prgInfo.Add((new Chunk(purchaseInfo.PurchaseNo, fntInfoSmall)));
            prgInfo.Add((new Chunk("\nBranch: ", fntInfo)));
            prgInfo.Add((new Chunk(purchaseInfo.Branch.Address, fntInfoSmall)));
            prgInfo.Add((new Chunk("\nSupplier: ", fntInfo)));
            prgInfo.Add((new Chunk(purchaseInfo.Supplier.Name, fntInfoSmall)));
            prgInfo.Add((new Chunk("\nPurchase By: ", fntInfo)));
            prgInfo.Add((new Chunk(purchaseInfo.Employee.Name, fntInfoSmall)));
            prgInfo.Add((new Chunk("\nRemarks: ", fntInfo)));
            prgInfo.Add((new Chunk(purchaseInfo.Remarks, fntInfoSmall)));
            prgInfo.Add((new Chunk("\nDate: ", fntInfo)));
            prgInfo.Add((new Chunk(purchaseInfo.PurchaseDate.ToString("D"), fntInfoSmall)));
            document.Add(prgInfo);

            // Break
            document.Add(new Chunk("\n", fntInfo));

            // Table Start
            PdfPTable table = new PdfPTable(5);

            table.HorizontalAlignment = Element.ALIGN_LEFT;

            // Table Header
            BaseFont bfnTableHeader = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            Font     fntTableHeader = new Font(bfnTableHeader, 10, 1, BaseColor.BLACK);

            PdfPCell cellSl = new PdfPCell();

            cellSl.AddElement(new Chunk("SL", fntTableHeader));
            cellSl.Border = 0;
            table.AddCell(cellSl);

            PdfPCell cellItem = new PdfPCell();

            cellItem.AddElement(new Chunk("Item", fntTableHeader));
            cellItem.Border = 0;
            table.AddCell(cellItem);

            PdfPCell cellQty = new PdfPCell();

            cellQty.AddElement(new Chunk("Qty", fntTableHeader));
            cellQty.Border = 0;
            table.AddCell(cellQty);

            PdfPCell cellPrice = new PdfPCell();

            cellPrice.AddElement(new Chunk("Price", fntTableHeader));
            cellPrice.Border = 0;
            table.AddCell(cellPrice);

            PdfPCell cellLineTotal = new PdfPCell();

            cellLineTotal.AddElement(new Chunk("Total", fntTableHeader));
            cellLineTotal.Border = 0;
            table.AddCell(cellLineTotal);

            // Table Data
            int      sl           = 1;
            BaseFont bfnTableData = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            Font     fntTableData = new Font(bfnTableData, 8, 1, BaseColor.BLACK);

            foreach (var item in purchaseInfo.PurchaseItems)
            {
                PdfPCell cellItemSl = new PdfPCell();
                cellItemSl.AddElement(new Chunk((sl++).ToString(), fntTableData));
                cellItemSl.Border = 0;
                table.AddCell(cellItemSl);

                PdfPCell cellItemItem = new PdfPCell();
                cellItemItem.AddElement(new Chunk(item.Item.Name.ToString(), fntTableData));
                cellItemItem.Border = 0;
                table.AddCell(cellItemItem);

                PdfPCell cellItemQty = new PdfPCell();
                cellItemQty.AddElement(new Chunk(item.Quantity.ToString(), fntTableData));
                cellItemQty.Border = 0;
                table.AddCell(cellItemQty);

                PdfPCell cellItemUnitPrice = new PdfPCell();
                cellItemUnitPrice.AddElement(new Chunk(item.UnitPrice.ToString(), fntTableData));
                cellItemUnitPrice.Border = 0;
                table.AddCell(cellItemUnitPrice);

                PdfPCell cellItemLineTotal = new PdfPCell();
                cellItemLineTotal.AddElement(new Chunk(item.LineTotal.ToString(), fntTableData));
                cellItemLineTotal.Border = 0;
                table.AddCell(cellItemLineTotal);
            }

            PdfPCell borderBottom = new PdfPCell();

            borderBottom.AddElement(new Chunk("\n", fntTableData));
            borderBottom.Colspan = 5;
            borderBottom.Border  = PdfPCell.BOTTOM_BORDER;
            table.AddCell(borderBottom);

            // Total Amount
            PdfPCell nullCell = new PdfPCell();

            nullCell.Colspan = 3;
            nullCell.Border  = 0;
            table.AddCell(nullCell);

            PdfPCell cellTotal = new PdfPCell();

            cellTotal.AddElement(new Chunk("Total Amount", fntTableHeader));
            cellTotal.Border = 0;
            table.AddCell(cellTotal);

            PdfPCell cellTotalValue = new PdfPCell();

            cellTotalValue.AddElement(new Chunk(purchaseInfo.TotalAmount.ToString(), fntTableHeader));
            cellTotalValue.Border = 0;
            table.AddCell(cellTotalValue);

            document.Add(table);
            document.Close();
            pdfWriter.Close();
            fileStream.Close();
        }
Пример #3
0
        public PurchaseOperationInformation GetPurchaseOpInfo(long id)
        {
            PurchaseOperationInformation item = dbContext.PurchaseOperationInformations.Where(x => x.Id == id).Include(x => x.PurchaseItems).FirstOrDefault();

            return(item);
        }
Пример #4
0
        public PurchaseOperationInformation GetPurchaseOpInfo(string purchaseNo)
        {
            PurchaseOperationInformation item = dbContext.PurchaseOperationInformations.Where(x => x.PurchaseNo == purchaseNo).Include(x => x.PurchaseItems).FirstOrDefault();

            return(item);
        }