예제 #1
0
        private void AddNewEntryToTransaction()
        {
            foreach (var line in _parentVM.DisplayedLines)
            {
                if (!_newEntryItem.ID.Equals(line.Item.ID) || !_newEntryWarehouse.ID.Equals(line.Warehouse.ID) ||
                    !_newEntryPrice.Equals(line.PurchasePrice) || !_newEntryDiscount.Equals(line.Discount))
                {
                    continue;
                }
                Debug.Assert(_newEntryQuantity != null, "_newEntryQuantity != null");
                line.Quantity += (int)_newEntryQuantity;
                ResetEntryFields();
                return;
            }

            Debug.Assert(_newEntryQuantity != null, "_newEntryQuantity != null");
            var newEntryLine = new PurchaseTransactionLine
            {
                Quantity            = (int)_newEntryQuantity,
                PurchasePrice       = _newEntryPrice,
                Discount            = _newEntryDiscount,
                Item                = _newEntryItem.Model,
                Warehouse           = _newEntryWarehouse.Model,
                SoldOrReturned      = 0,
                PurchaseTransaction = _parentVM.Model,
                Total               = (int)_newEntryQuantity * (_newEntryPrice - _newEntryDiscount)
            };

            var lineVM = new PurchaseTransactionLineVM {
                Model = newEntryLine
            };

            _parentVM.DisplayedLines.Add(lineVM);
        }
        private static void IncreaseLineItemStockInDatabaseContext(ERPContext context, PurchaseTransactionLine line)
        {
            var stockFromDatabase = context.Stocks.SingleOrDefault(
                stock => stock.ItemID.Equals(line.Item.ID) && stock.WarehouseID.Equals(line.Warehouse.ID));

            if (stockFromDatabase == null)
            {
                context.Stocks.Add(new Stock { Item = line.Item, Warehouse = line.Warehouse, Pieces = line.Quantity });
                context.SaveChanges();
            }
            else
                stockFromDatabase.Pieces += line.Quantity;
        }
예제 #3
0
        private static void AddLineToStockAdjustmentPurchaseTransaction(StockAdjustmentTransactionLine line, PurchaseTransaction stockAdjustmentPurchaseTransaction)
        {
            var stockAdjustmentPurchaseLine = new PurchaseTransactionLine
            {
                PurchaseTransaction = stockAdjustmentPurchaseTransaction,
                Item           = line.Item,
                Warehouse      = line.Warehouse,
                PurchasePrice  = 0,
                Discount       = 0,
                Quantity       = line.Quantity,
                Total          = 0,
                SoldOrReturned = 0
            };

            stockAdjustmentPurchaseTransaction.PurchaseTransactionLines.Add(stockAdjustmentPurchaseLine);
        }
예제 #4
0
        private void AddNewEntryToTransaction()
        {
            foreach (var line in _parentVM.DisplayedLines)
            {
                if (!_newEntryItem.ID.Equals(line.Item.ID) || !_newEntryWarehouse.ID.Equals(line.Warehouse.ID) ||
                    !_newEntryPrice.Equals(line.PurchasePrice) || !_newEntryDiscount.Equals(line.Discount)) continue;
                Debug.Assert(_newEntryQuantity != null, "_newEntryQuantity != null");
                line.Quantity += (int) _newEntryQuantity;
                ResetEntryFields();
                return;
            }

            Debug.Assert(_newEntryQuantity != null, "_newEntryQuantity != null");
            var newEntryLine = new PurchaseTransactionLine
            {
                Quantity = (int)_newEntryQuantity,
                PurchasePrice = _newEntryPrice,
                Discount = _newEntryDiscount,
                Item = _newEntryItem.Model,
                Warehouse = _newEntryWarehouse.Model,
                SoldOrReturned = 0,
                PurchaseTransaction = _parentVM.Model,
                Total = (int)_newEntryQuantity * (_newEntryPrice - _newEntryDiscount)
            };

            var lineVM = new PurchaseTransactionLineVM { Model = newEntryLine };
            _parentVM.DisplayedLines.Add(lineVM);
        }
 private static void AttachPurchaseTransactionLineToDatabaseContext(ERPContext context, PurchaseTransactionLine line)
 {
     line.Item = context.Inventory.Single(item => item.ID.Equals(line.Item.ID));
     line.Warehouse = context.Warehouses.Single(warehouse => warehouse.ID.Equals(line.Warehouse.ID));
 }
예제 #6
0
 private static void AddLineToStockAdjustmentPurchaseTransaction(StockAdjustmentTransactionLine line, PurchaseTransaction stockAdjustmentPurchaseTransaction)
 {
     var stockAdjustmentPurchaseLine = new PurchaseTransactionLine
     {
         PurchaseTransaction = stockAdjustmentPurchaseTransaction,
         Item = line.Item,
         Warehouse = line.Warehouse,
         PurchasePrice = 0,
         Discount = 0,
         Quantity = line.Quantity,
         Total = 0,
         SoldOrReturned = 0
     };
     stockAdjustmentPurchaseTransaction.PurchaseTransactionLines.Add(stockAdjustmentPurchaseLine);
 }
예제 #7
0
        private static void IncreaseLineItemStockInDatabaseContext(ERPContext context, PurchaseTransactionLine line)
        {
            var stockFromDatabase = context.Stocks.SingleOrDefault(
                stock => stock.ItemID.Equals(line.Item.ID) && stock.WarehouseID.Equals(line.Warehouse.ID));

            if (stockFromDatabase == null)
            {
                context.Stocks.Add(new Stock {
                    Item = line.Item, Warehouse = line.Warehouse, Pieces = line.Quantity
                });
                context.SaveChanges();
            }
            else
            {
                stockFromDatabase.Pieces += line.Quantity;
            }
        }
예제 #8
0
 private static void AttachPurchaseTransactionLineToDatabaseContext(ERPContext context, PurchaseTransactionLine line)
 {
     line.Item      = context.Inventory.Single(item => item.ID.Equals(line.Item.ID));
     line.Warehouse = context.Warehouses.Single(warehouse => warehouse.ID.Equals(line.Warehouse.ID));
 }