/// <summary> /// Get Get Item Details /// </summary> /// <param name="db">Database Context</param> /// <param name="saleItem">RegularSale Item List</param> /// <returns></returns> public static List <ReceiptItemDetails> GetInvoiceDetails(eStoreDbContext db, List <RegularSaleItem> saleItem) { List <ReceiptItemDetails> itemList = new List <ReceiptItemDetails>(); foreach (var item in saleItem) { ReceiptItemDetails rid = new ReceiptItemDetails { BasicPrice = item.BasicAmount.ToString("0.##"), Discount = item.Discount.ToString("0.##"), MRP = item.MRP.ToString("0.##"), QTY = item.Qty.ToString("0.##"), GSTAmount = (item.TaxAmount / 2).ToString("0.##"), HSN = "", GSTPercentage = "", SKUDescription = item.BarCode, Amount = item.BillAmount.ToString("0.##") }; if (item.HSNCode != null) { rid.HSN = item.HSNCode.ToString(); } rid.SKUDescription += "/" + db.ProductItems.Find(item.ProductItemId).ItemDesc; rid.GSTPercentage = (db.SaleTaxTypes.Find(item.SaleTaxTypeId).CompositeRate / 2).ToString("0.##"); itemList.Add(rid); } return(itemList); }
public int Checkout(int shoppingCartId) { ShoppingCart shoppingCart = _context.ShoppingCarts.Find(shoppingCartId); if (shoppingCart != null && shoppingCart.ShoppingItems != null) { shoppingCart.CheckoutTime = DateTimeOffset.Now; Receipt receipt = new Receipt(); _context.Receipt.Add(receipt); _context.SaveChanges(); decimal total = 0.0m; decimal subTotal = 0.0m; foreach (var item in shoppingCart.ShoppingItems) { subTotal += item.Qty * item.Product.Price; total += item.Qty * item.Product.Price * 1.15m; Inventory inventory = _context.Inventories.SingleOrDefault(s => s.ProductId == item.ProductId); if (inventory.Qty >= item.Qty) { inventory.Qty -= item.Qty; } else { //if there is not enough inventory } ReceiptItemDetails receiptItemDetails = new ReceiptItemDetails() { ProductName = item.Product.Name, ReceiptProductId = item.ProductId, Price = item.Product.Price, PurchasedQty = item.Qty, ReceiptId = receipt.ReceiptId, //Receipt = receipt }; receipt.ReceiptItems.Add(receiptItemDetails); } receipt.SubTotal = subTotal; receipt.Total = total; receipt.TaxRate = 1.15m; _context.SaveChanges(); return(receipt.ReceiptId); // } else { throw new ObjectNotFoundException(); } }