Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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;
                        }
                    }
                }
            }
        }