public JsonResult Ajax_GetDetails(Guid id) { UserAccountRolesModel access = UserAccountsController.getUserAccess(Session); List <SaleInvoiceItems_InventoryModel> models = SaleInvoiceItems_InventoryController.get(Session, null, null, id); string content = string.Format(@" <div class='table-responsive'> <table class='table table-striped table-bordered'> <thead> <tr> <th>Invoice</th> <th class='text-right' style='width:70px;'>Qty</th> <th class='text-right' style='width:70px;'>Balance</th> </tr> </thead> <tbody> "); string saleInvoiceLink; foreach (SaleInvoiceItems_InventoryModel model in models) { saleInvoiceLink = !access.SaleInvoices_View ? model.SaleInvoices_No : string.Format("<a href='/SaleInvoices?FILTER_chkDateFrom=false&FILTER_chkDateTo=false&FILTER_Keyword={0}' target='_blank'>{0}</a>", model.SaleInvoices_No); content += string.Format(@" <tr> <td>{0}{1}</td> <td class='text-right'>{2:N0}</td> <td class='text-right'>{3:N0}</td> </tr> ", saleInvoiceLink, !model.SaleInvoices_Cancelled ? string.Empty : "<span class='badge badge-warning ml-2' style='width:70px;'>CANCELLED</span>", model.Qty, model.Balance ); } content += string.Format(@" </tbody></table></div> " ); return(Json(new { content = content }, JsonRequestBehavior.AllowGet)); }
public static void add(HttpSessionStateBase Session, List <SaleInvoiceItemsModel> SaleInvoiceItems, Guid SaleInvoices_Id) { DBContext db = new DBContext(); int rowNo = 0; foreach (SaleInvoiceItemsModel saleInvoiceItem in SaleInvoiceItems) { saleInvoiceItem.Id = Guid.NewGuid(); LIBWebMVC.WebDBConnection.Insert(db.Database, "SaleInvoiceItems", DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Id.Name, saleInvoiceItem.Id), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Notes.Name, saleInvoiceItem.Notes), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_RowNo.Name, ++rowNo), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_SaleInvoices_Id.Name, SaleInvoices_Id), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Description.Name, saleInvoiceItem.Description), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Qty.Name, saleInvoiceItem.Qty), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Price.Name, saleInvoiceItem.Price), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_DiscountAmount.Name, saleInvoiceItem.DiscountAmount), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Vouchers.Name, saleInvoiceItem.Vouchers), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_VouchersName.Name, saleInvoiceItem.VouchersName), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_VouchersAmount.Name, saleInvoiceItem.VouchersAmount), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Products_Id.Name, saleInvoiceItem.Products_Id), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_Services_Id.Name, saleInvoiceItem.Services_Id), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_LessonPackages_Id.Name, saleInvoiceItem.LessonPackages_Id), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_SessionHours.Name, saleInvoiceItem.SessionHours), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_SessionHours_Remaining.Name, saleInvoiceItem.SessionHours_Remaining), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_TravelCost.Name, saleInvoiceItem.TravelCost), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_TutorTravelCost.Name, saleInvoiceItem.TutorTravelCost), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_ExpirationMonth.Name, saleInvoiceItem.ExpirationMonth), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_StartingDate.Name, saleInvoiceItem.StartingDate), DBConnection.getSqlParameter(SaleInvoiceItemsModel.COL_IsClubSubscription.Name, saleInvoiceItem.IsClubSubscription) ); if (saleInvoiceItem.Products_Id != null) { int orderQty = saleInvoiceItem.Qty; List <InventoryModel> inventoryList = InventoryController.get_by_Products_Id(Session, (Guid)saleInvoiceItem.Products_Id) .Where(x => x.AvailableQty > 0) .OrderBy(x => x.ReceiveDate) .ToList(); int qty = 0; foreach (InventoryModel inventory in inventoryList) { if (inventory.AvailableQty >= orderQty) { qty = orderQty; } else { qty = inventory.AvailableQty; } SaleInvoiceItems_InventoryController.add(Session, db, new SaleInvoiceItems_InventoryModel { Id = Guid.NewGuid(), SaleInvoiceItems_Id = saleInvoiceItem.Id, Inventory_Id = inventory.Id, Qty = qty }); orderQty -= qty; if (orderQty == 0) { break; } } } } }