public bool IsSalesOperationSuccess(SalesOperationInformationVM itemVm) { SalesOperationInformation item = new SalesOperationInformation() { SalesNo = itemVm.SalesNo, BranchId = itemVm.BranchId, EmployeeId = itemVm.EmployeeId, SalesDate = itemVm.SalesDate, CustomerName = itemVm.CustomerName, CustomerContact = itemVm.CustomerContact, TotalAmount = itemVm.TotalAmount, VAT = itemVm.VAT, DiscountAmount = itemVm.DiscountAmount, PayableAmount = itemVm.PayableAmount, PaidAmount = itemVm.PaidAmount, DueAmount = itemVm.DueAmount, SalesItems = itemVm.SalesItems, Date = itemVm.Date }; dbContext.SalesOperationInformations.Add(item); var isSuccess = dbContext.SaveChanges() > 0; IsStockUpdated(itemVm.SalesItems, itemVm.BranchId); return(isSuccess); }
public void ExportOneInfoToPdf(SalesOperationInformation salesInfo) { Document document; string fileSavePath = fileSaveLocation.SalesReportPdfLocation; string fileName = "SalesReport" + salesInfo.SalesNo + ".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("Sales No: ", fntInfo))); prgInfo.Add((new Chunk(salesInfo.SalesNo, fntInfoSmall))); prgInfo.Add((new Chunk("\nBranch: ", fntInfo))); prgInfo.Add((new Chunk(salesInfo.Branch.Address, fntInfoSmall))); prgInfo.Add((new Chunk("\nSold By: ", fntInfo))); prgInfo.Add((new Chunk(salesInfo.Employee.Name, fntInfoSmall))); prgInfo.Add((new Chunk("\nCustomer Name: ", fntInfo))); prgInfo.Add((new Chunk(salesInfo.CustomerName, fntInfoSmall))); prgInfo.Add((new Chunk("\nCustomer Contact: ", fntInfo))); prgInfo.Add((new Chunk(salesInfo.CustomerContact, fntInfoSmall))); prgInfo.Add((new Chunk("\nDate: ", fntInfo))); prgInfo.Add((new Chunk(salesInfo.SalesDate.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 salesInfo.SalesItems) { 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(salesInfo.TotalAmount.ToString(), fntTableHeader)); cellTotalValue.Border = 0; table.AddCell(cellTotalValue); // Discount Amount table.AddCell(nullCell); PdfPCell cellDiscount = new PdfPCell(); cellDiscount.AddElement(new Chunk("Discount", fntTableHeader)); cellDiscount.Border = 0; table.AddCell(cellDiscount); PdfPCell cellDicountValue = new PdfPCell(); cellDicountValue.AddElement(new Chunk(salesInfo.DiscountAmount.ToString(), fntTableHeader)); cellDicountValue.Border = 0; table.AddCell(cellDicountValue); // Sub Total Amount table.AddCell(nullCell); PdfPCell cellSubTotal = new PdfPCell(); cellSubTotal.AddElement(new Chunk("Sub Total", fntTableHeader)); cellSubTotal.Border = 0; table.AddCell(cellSubTotal); double subTotalAmount = (double)(salesInfo.TotalAmount - salesInfo.DiscountAmount); PdfPCell cellSubTotalValue = new PdfPCell(); cellSubTotalValue.AddElement(new Chunk(subTotalAmount.ToString(), fntTableHeader)); cellSubTotalValue.Border = 0; table.AddCell(cellSubTotalValue); // VAT table.AddCell(nullCell); PdfPCell cellVat = new PdfPCell(); cellVat.AddElement(new Chunk("VAT (" + salesInfo.VAT + "%)", fntTableHeader)); cellVat.Border = 0; table.AddCell(cellVat); double vatAmount = (double)(subTotalAmount * (salesInfo.VAT / 100)); PdfPCell cellVatValue = new PdfPCell(); cellVatValue.AddElement(new Chunk(vatAmount.ToString(), fntTableHeader)); cellVatValue.Border = 0; table.AddCell(cellVatValue); // Payable Amount table.AddCell(nullCell); PdfPCell cellPayable = new PdfPCell(); cellPayable.AddElement(new Chunk("Payable Amount", fntTableHeader)); cellPayable.Border = 0; table.AddCell(cellPayable); PdfPCell cellPayableValue = new PdfPCell(); cellPayableValue.AddElement(new Chunk(salesInfo.PayableAmount.ToString(), fntTableHeader)); cellPayableValue.Border = 0; table.AddCell(cellPayableValue); document.Add(table); document.Close(); pdfWriter.Close(); fileStream.Close(); }
public SalesOperationInformation GetSalesOpInfo(long id) { SalesOperationInformation item = dbContext.SalesOperationInformations.Where(x => x.Id == id).Include(x => x.SalesItems).FirstOrDefault(); return(item); }
public SalesOperationInformation GetSalesOpInfo(string salesNo) { SalesOperationInformation item = dbContext.SalesOperationInformations.Where(x => x.SalesNo == salesNo).Include(x => x.SalesItems).FirstOrDefault(); return(item); }