private void SaveStockItem(DateTime?transDate, string transDesc, MItem itemId, decimal?qty, bool addStock, MWarehouse mWarehouse)
        {
            TStockCard stockCard;
            TStockItem stockItem;
            //foreach (TTransDet det in ListDetTrans)
            {
                stockItem = _tStockItemRepository.GetByItemAndWarehouse(itemId, mWarehouse);
                bool isSave = false;
                if (stockItem == null)
                {
                    isSave    = true;
                    stockItem = new TStockItem();
                    stockItem.SetAssignedIdTo(Guid.NewGuid().ToString());
                    stockItem.ItemId      = itemId;
                    stockItem.WarehouseId = mWarehouse;
                    stockItem.CreatedBy   = User.Identity.Name;
                    stockItem.CreatedDate = DateTime.Now;
                    stockItem.DataStatus  = EnumDataStatus.New.ToString();
                }
                else
                {
                    stockItem.ModifiedBy   = User.Identity.Name;
                    stockItem.ModifiedDate = DateTime.Now;
                    stockItem.DataStatus   = EnumDataStatus.Updated.ToString();
                }
                if (addStock)
                {
                    stockItem.ItemStock = stockItem.ItemStock + qty.Value;
                }
                else
                {
                    stockItem.ItemStock = stockItem.ItemStock - qty.Value;
                }

                if (isSave)
                {
                    _tStockItemRepository.Save(stockItem);
                }
                else
                {
                    _tStockItemRepository.Update(stockItem);
                }

                //save stock card
                stockCard = new TStockCard();
                //stockCard.SetAssignedIdTo(Guid.NewGuid().ToString());
                stockCard.CreatedBy       = User.Identity.Name;
                stockCard.CreatedDate     = DateTime.Now;
                stockCard.DataStatus      = EnumDataStatus.New.ToString();
                stockCard.ItemId          = itemId;
                stockCard.StockCardDate   = transDate;
                stockCard.StockCardDesc   = transDesc;
                stockCard.StockCardQty    = qty;
                stockCard.StockCardSaldo  = stockItem.ItemStock;
                stockCard.StockCardStatus = addStock;
                //stockCard.TransDetId = det;
                stockCard.WarehouseId = mWarehouse;
                _tStockCardRepository.Save(stockCard);
            }
        }
Exemple #2
0
        internal static bool CheckStock(MWarehouse mWarehouse, MItem item, decimal?qty)
        {
            ITStockItemRepository stockItemRepository = new TStockItemRepository();
            TStockItem            stockItem           = stockItemRepository.GetByItemAndWarehouse(item, mWarehouse);

            if (stockItem != null)
            {
                if (stockItem.ItemStock > qty)
                {
                    return(true);
                }
            }
            return(false);
        }