예제 #1
0
        public void LogTransactionsForDeliveryOrder(int purchaseOrderId)
        {
            List <PurchaseOrderDetailsEF> poDetails = purchaseEFF.FindPurchaseOrderDetailsByOrderId(purchaseOrderId);

            foreach (PurchaseOrderDetailsEF d in poDetails)
            {
                StockTransactionDetailsEF transaction = new StockTransactionDetailsEF()
                {
                    ItemCode = d.ItemCode,
                    Date     = Timestamp.unixTimestamp(),
                    Quantity = d.QuantityOrdered,
                    Type     = "Supplier " + d.PurchaseOrder.SupplierCode,
                    Balance  = stockEFF.FindStockByItemCode(d.ItemCode).QuantityOnHand + d.QuantityOrdered,
                };
                stockEFF.AddToStockTransaction(transaction);

                StockEF stock = stockEFF.FindStockByItemCode(d.ItemCode);
                stock.QuantityOnHand = stock.QuantityOnHand + d.QuantityOrdered;
                stockEFF.SaveStock(stock);
            }
        }
예제 #2
0
        public void LogTransactionsForAdjustmentVoucher(string adjustmentVoucherId)
        {
            List <AdjustmentVoucherDetailsEF> adjVoucherDetails = stockEFF.FindAdjustmentVoucherDetailsById(adjustmentVoucherId);

            foreach (AdjustmentVoucherDetailsEF d in adjVoucherDetails)
            {
                StockTransactionDetailsEF transaction = new StockTransactionDetailsEF()
                {
                    ItemCode = d.ItemCode,
                    Date     = Timestamp.unixTimestamp(),
                    Quantity = d.Quantity,
                    Type     = "Stock Adjustment " + d.VoucherId,
                    Balance  = stockEFF.FindStockByItemCode(d.ItemCode).QuantityOnHand + d.Quantity,
                };
                stockEFF.AddToStockTransaction(transaction);

                StockEF stock = stockEFF.FindStockByItemCode(d.ItemCode);
                stock.QuantityOnHand = stock.QuantityOnHand + d.Quantity;
                stockEFF.SaveStock(stock);
            }
        }
예제 #3
0
        public void LogTransactionsForRetrieval(int retrievalId)
        {
            List <StationeryDisbursementDetailsEF> details = rndEFF.FindDisbursementDetailsByRetrievalId(retrievalId);

            foreach (StationeryDisbursementDetailsEF d in details)
            {
                StockTransactionDetailsEF transaction = new StockTransactionDetailsEF()
                {
                    ItemCode = d.ItemCode,
                    Date     = Timestamp.unixTimestamp(),
                    Quantity = -d.RetrievedQuantity,
                    Type     = d.StationeryDisbursement.Department.DepartmentName,
                    Balance  = stockEFF.FindStockByItemCode(d.ItemCode).QuantityOnHand - d.RetrievedQuantity
                };
                stockEFF.AddToStockTransaction(transaction);

                StockEF stock = stockEFF.FindStockByItemCode(d.ItemCode);
                stock.QuantityOnHand = transaction.Balance;
                stockEFF.SaveStock(stock);
            }
        }
예제 #4
0
 public void AddToStockTransaction(StockTransactionDetailsEF trans)
 {
     context.StockTransactionDetails.Add(trans);
     context.SaveChanges();
 }