Exemple #1
0
        public HttpResponseMessage UpsertItem(HttpRequestMessage request, tbItem tbItem)
        {
            ItemRepository  itemRepo      = new ItemRepository();
            StockRepository stockRepo     = new StockRepository();
            tbItem          UpdatedEntity = null;
            tbStock         tbstock       = new tbStock();

            if (tbItem.ID > 0)
            {
                UpdatedEntity = itemRepo.update(tbItem);
            }
            else
            {
                tbItem.UniqueID   = Guid.NewGuid();
                tbItem.IsDeleted  = false;
                tbItem.Accesstime = DateTime.UtcNow.ToLocalTime();
                UpdatedEntity     = itemRepo.Add(tbItem);

                tbstock.ItemGUID     = tbItem.UniqueID;
                tbstock.CinemaID     = 0;
                tbstock.IsDeleted    = false;
                tbstock.Accesstime   = DateTime.UtcNow.ToLocalTime();
                tbstock.StockStatus  = "Stock Register";
                tbstock.StockQty     = 0;
                tbstock.ThresholdQty = 0;
                stockRepo.Add(tbstock);
            }

            return(request.CreateResponse <tbItem>(HttpStatusCode.OK, UpdatedEntity));
        }
        //_InsertStock
        public async Task <ActionResult> _InsertStock(int itemID)
        {
            string url    = string.Format("api/Item/GetItemByID?ID={0}", itemID);
            tbItem result = await APIRequest <tbItem> .Get(url);

            return(PartialView("_InventoryForm", result));
        }
Exemple #3
0
        //_GetItemForStock
        public async Task <ActionResult> _GetItemForStock(int ID)
        {
            string url    = string.Format("api/Item/GetItemByID?ID={0}", ID);
            tbItem result = await APIRequest <tbItem> .Get(url);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Exemple #4
0
        public HttpResponseMessage GetItemByID(HttpRequestMessage request, int ID)
        {
            Context        ctx      = new Context();
            ItemRepository itemRepo = new ItemRepository(ctx);
            tbItem         result   = itemRepo.GetDataSet().Where(a => a.IsDeleted != true && a.ID == ID).FirstOrDefault();

            return(request.CreateResponse <tbItem>(HttpStatusCode.OK, result));
        }
Exemple #5
0
        //UpSertItem
        public async Task <ActionResult> UpSertItem(tbItem tbItem)
        {
            var    url    = "api/Item/UpsertItem";
            tbItem result = await APIRequest <tbItem> .Post(url, tbItem);

            if (result != null)
            {
                return(Json("Success", JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("Fail", JsonRequestBehavior.AllowGet));
            }
        }
Exemple #6
0
        //_ItemForm
        public async Task <ActionResult> _ItemForm(string FormType, int ID)
        {
            tbItem tbItem = new tbItem();

            if (FormType == "Add")
            {
                return(PartialView("_ItemForm", tbItem));
            }

            else
            {
                string url    = string.Format("api/Item/GetItemByID?ID={0}", ID);
                tbItem result = await APIRequest <tbItem> .Get(url);

                return(PartialView("_ItemForm", result));
            }
        }
        public HttpResponseMessage UpsertOrderDetail(HttpRequestMessage request, string items)
        {
            #region Instances

            Context ctx = new Context();

            ItemRepository        itemRepo        = new ItemRepository(ctx);
            StockRepository       stockRepo       = new StockRepository(ctx);
            OrderRepository       orderRepo       = new OrderRepository(ctx);
            OrderDetailRepository orderDetailRepo = new OrderDetailRepository(ctx);
            InventoryRepository   inventoryRepo   = new InventoryRepository(ctx);

            tbItem        tbItem        = new tbItem();
            tbStock       tbStock       = new tbStock();
            tbInventory   tbInventory   = new tbInventory();
            tbOrder       tbOrder       = new tbOrder();
            tbOrderDetail tbOrderDetail = new tbOrderDetail();
            tbOrder       UpdatedOrder  = null;
            tbOrderDetail UpdatedEntity = null;
            decimal       totalPrice    = 0;
            string        voucherCode   = Guid.NewGuid().ToString();

            #endregion

            #region insert order table

            tbOrder.StaffGUID      = "Default";
            tbOrder.StaffName      = "Default";
            tbOrder.CinemaId       = 1;
            tbOrder.CinemaName     = "";
            tbOrder.VoucherCode    = voucherCode;
            tbOrder.Accesstime     = DateTime.UtcNow.ToLocalTime();
            tbOrder.IsDeleted      = false;
            tbOrder.TotalPrice     = totalPrice;
            tbOrder.CreatedAt      = DateTime.UtcNow.ToLocalTime();
            tbOrder.Status         = "Default";
            tbOrder.ServiceFees    = 0;
            tbOrder.SubTotalPrice  = tbOrder.TotalPrice;
            tbOrder.TotalTax       = 0;
            tbOrder.TaxIncluded    = false;
            tbOrder.Currency       = "";
            tbOrder.TotalDiscounts = 0;
            tbOrder.TotalItemPrice = tbOrder.TotalPrice;
            tbOrder.DiscountCode   = "";
            tbOrder.Remark         = "";
            UpdatedOrder           = orderRepo.Add(tbOrder);

            #endregion

            List <string> itemList = items.Split(',').ToList();
            foreach (string item in itemList)
            {
                string[] idVal    = item.Split('|').ToArray();
                string   itemGUID = idVal[0];
                int      qty      = Convert.ToInt32(idVal[1]);
                tbItem = itemRepo.GetDataSet().Where(a => a.IsDeleted != true && a.UniqueID.ToString() == itemGUID).FirstOrDefault();

                //if(tbStock.StockQty>=qty)
                //{ }
                #region Add order detail.

                tbOrderDetail.ItemID     = tbItem.ID;
                tbOrderDetail.ItemName   = tbItem.Item;
                tbOrderDetail.ItemPrice  = tbItem.SellingPrice;
                tbOrderDetail.ItemQty    = qty;
                tbOrderDetail.TotalPrice = tbOrderDetail.ItemPrice * qty;
                totalPrice += Convert.ToDecimal(tbOrderDetail.TotalPrice);
                tbOrderDetail.VoucherCode = voucherCode;
                tbOrderDetail.OrderID     = UpdatedOrder.ID;
                tbOrderDetail.CinemaID    = tbOrder.CinemaId;
                tbOrderDetail.CinemaName  = tbOrder.CinemaName;
                tbOrderDetail.IsDeleted   = false;
                UpdatedEntity             = orderDetailRepo.Add(tbOrderDetail);

                #endregion

                #region update stock table.

                tbStock            = stockRepo.GetDataSet().Where(s => s.IsDeleted != true && s.ItemGUID.ToString() == itemGUID && s.CinemaID == tbOrder.CinemaId).FirstOrDefault();
                tbStock.StockQty   = tbStock.StockQty - qty;
                tbStock.Accesstime = DateTime.UtcNow.ToLocalTime();
                stockRepo.update(tbStock);

                #endregion

                #region update inventory table.

                tbInventory.FlowType        = "StockOut";
                tbInventory.ItemPrice       = tbItem.SellingPrice;
                tbInventory.TotalItemPrice  = totalPrice;
                tbInventory.IsDeleted       = false;
                tbInventory.Accesstime      = DateTime.UtcNow.ToLocalTime();
                tbInventory.UniqueID        = Guid.NewGuid();
                tbInventory.ItemGUID        = tbItem.UniqueID;
                tbInventory.ItemName        = tbItem.Item;
                tbInventory.TransactionType = "3"; //TransactionType:3 (StockOut)
                tbInventory.CinemaID        = tbOrder.CinemaId;
                tbInventory.Qty             = qty;
                inventoryRepo.Add(tbInventory);

                #endregion
            }

            #region update total price to order table

            tbOrder                = orderRepo.GetDataSet().Where(x => x.IsDeleted != true && x.VoucherCode == voucherCode).FirstOrDefault();
            tbOrder.TotalPrice     = totalPrice;
            tbOrder.TotalItemPrice = totalPrice;
            orderRepo.update(tbOrder);

            #endregion

            return(request.CreateResponse <tbOrderDetail>(HttpStatusCode.OK, UpdatedEntity));
        }