private void LoadEditQuantityScreen(QuantityAdjustment adjustment)
 {
     PushViewModel(new AdjustQuantityViewModel(ViewModelChanger, adjustment)
     {
         CurrentUser = CurrentUser
     });
 }
Exemplo n.º 2
0
 /// <summary>
 /// To be used when updating quantity adjustment explanation
 /// </summary>
 /// <param name="viewModelChanger"></param>
 /// <param name="adjustment"></param>
 public AdjustQuantityViewModel(IChangeViewModel viewModelChanger, QuantityAdjustment adjustment) : base(viewModelChanger)
 {
     WasAdjustedForStockPurchase = adjustment.WasAdjustedForStockPurchase;
     Quantity    = adjustment.AmountChanged;
     _isCreating = false;
     _adjustment = adjustment;
     Explanation = adjustment.Explanation;
     Title       = "Edit";
 }
Exemplo n.º 3
0
        private void CreateOrSaveItem()
        {
            var item = _currentItemBeingEdited != null ? _currentItemBeingEdited : new InventoryItem();
            // validate
            bool   didValidate  = true;
            string errorMessage = "";

            if (!string.IsNullOrWhiteSpace(BarcodeNumber))
            {
                var loadedItem = InventoryItem.LoadItemByBarcode(BarcodeNumber);
                if (loadedItem != null && (_isCreating || (!_isCreating && _inventoryItemID != loadedItem.ID)))
                {
                    didValidate  = false;
                    errorMessage = "Barcode already exists for item named " + loadedItem.Name;
                }
            }
            if (didValidate)
            {
                // create/save
                item.Name        = Name;
                item.Description = Description;
                item.Type        = _selectedItemTypeIndex != -1 ? _itemTypes[_selectedItemTypeIndex] : null;
                decimal cost     = 0m;
                bool    didParse = Decimal.TryParse(Cost, out cost);
                item.Cost         = didParse ? cost : 0m;
                item.CostCurrency = _currencies[_selectedCostCurrencyIndex];

                decimal profit = 0m;
                didParse                   = Decimal.TryParse(ProfitPerItem, out profit);
                item.ProfitPerItem         = didParse ? profit : 0m;
                item.ProfitPerItemCurrency = _currencies[_selectedProfitCurrencyIndex];

                item.BarcodeNumber = BarcodeNumber;
                item.PicturePath   = "";
                if (_isCreating) // any further adjustments have to be made via the adjust quantity screen
                {
                    item.Quantity = Quantity;
                }
                var userID = CurrentUser != null ? CurrentUser.ID : 1;
                if (_isCreating)
                {
                    item.CreateNewItem(userID);
                    QuantityAdjustment.UpdateQuantity(Quantity, item.ID, userID, "Initial quantity", false);
                    _createdItemListener?.CreatedInventoryItem(item);
                }
                else
                {
                    item.ID = _inventoryItemID;
                    item.SaveItemUpdates(userID);
                }
                PopViewModel();
            }
            else if (!string.IsNullOrWhiteSpace(errorMessage))
            {
                MessageBox.Show(errorMessage, "Error!", MessageBoxButton.OK);
            }
        }
Exemplo n.º 4
0
 private void AdjustQuantity()
 {
     if (IsCreating)
     {
         var difference  = Quantity - _item.Quantity;
         var userID      = CurrentUser != null ? CurrentUser.ID : 1;
         var wasAdjusted = CanMarkAdjustedForStockPurchase ? WasAdjustedForStockPurchase : false;
         QuantityAdjustment.UpdateQuantity(difference, _item.ID, userID, Explanation, wasAdjusted);
         _item.AdjustQuantityByAmount(difference);
         _item.Quantity = Quantity;
         ReturnToPreviousScreen();
     }
     else
     {
         _adjustment.Explanation = Explanation;
         _adjustment.WasAdjustedForStockPurchase = WasAdjustedForStockPurchase;
         _adjustment.SaveUpdates();
         ReturnToPreviousScreen();
     }
 }
 public ViewQuantityAdjustmentsViewModel(IChangeViewModel viewModelChanger, InventoryItem item) : base(viewModelChanger)
 {
     _adjustments = QuantityAdjustment.LoadQuantityAdjustments(item);
 }