private void ExecuteShoppingListAddItemCommand()
        {
            if (SalesSearchResultSelectedItem.InventoryModel.Quantity > 0)
            {
                var quantity = GetItemQuantityToAdd();

                var newInventoryModel = new InventoryDbModel()
                {
                    BatchNumber       = SalesSearchResultSelectedItem.InventoryModel.BatchNumber,
                    ExpiryDate        = SalesSearchResultSelectedItem.InventoryModel.ExpiryDate,
                    InventoryId       = SalesSearchResultSelectedItem.InventoryModel.InventoryId,
                    ItemId            = SalesSearchResultSelectedItem.InventoryModel.ItemId,
                    LotNumber         = SalesSearchResultSelectedItem.InventoryModel.LotNumber,
                    ManufacturingDate = SalesSearchResultSelectedItem.InventoryModel.ManufacturingDate,
                    Quantity          = quantity
                };
                var item = new Item(SalesSearchResultSelectedItem.ItemModel, newInventoryModel,
                                    SalesSearchResultSelectedItem.TherapeuticClass);

                if (quantity > 0)
                {
                    AddShoppingListItem(item);
                    RemoveStockListItem(item);
                }
            }
            else
            {
                MessageBox.Show("Selected item has no more stocks left.");
                SalesSearchResultSelectedItem = null;
            }
        }
        private async void ExecuteAddItemCommand()
        {
            var errorList = ValidateInputParameters();

            if (errorList.Count > 0)
            {
                MessageBox.Show("Error encountered in adding new item.\n" + string.Join(Environment.NewLine, errorList));
                return;
            }

            var item = new ItemDbModel()
            {
                Barcode            = Barcode,
                BrandName          = BrandName,
                DosageForm         = DosageForm,
                DosageStrength     = DosageStrength,
                GenericName        = GenericName,
                Manufacturer       = Manufacturer,
                Price              = (int)(UnitPrice * 100),
                TherapeuticClassId = SelectedTherapeuticClass.TherapeuticClassId
            };

            var resultsChanged = await _itemProcessor.AddItem(item);

            if (resultsChanged == 0)
            {
                throw new Exception("Failed to add item");
            }

            var newItem = (await _itemProcessor.GetItems(item.GenericName, item.BrandName, item.Manufacturer,
                                                         item.Barcode, SelectedTherapeuticClass)).FirstOrDefault();

            var inventoryItem = new InventoryDbModel()
            {
                ItemId            = newItem.ItemId,
                BatchNumber       = BatchNumber,
                LotNumber         = LotNumber,
                ExpiryDate        = ExpiryDate.Date,
                ManufacturingDate = ManufacturingDate.Date,
                Quantity          = Quantity
            };

            resultsChanged = await _inventoryProcessor.AddInventoryItem(inventoryItem);

            DisplayAddItemResult(resultsChanged > 0);
            InitializeValues();
        }
        private async void ExecuteAddInventoryItemCommand()
        {
            var newInventory = new InventoryDbModel()
            {
                InventoryId       = InventorySelectedItem.InventoryModel.InventoryId,
                ItemId            = InventorySelectedItem.ItemModel.ItemId,
                BatchNumber       = InventorySelectedItem.InventoryModel.BatchNumber,
                LotNumber         = InventorySelectedItem.InventoryModel.LotNumber,
                ExpiryDate        = InventorySelectedItem.InventoryModel.ExpiryDate,
                ManufacturingDate = InventorySelectedItem.InventoryModel.ManufacturingDate,
                Quantity          = InventorySelectedItem.InventoryModel.Quantity + AddInventoryQuantity
            };

            var resultsChanged = await _inventoryProcessor.AddInventoryItem(newInventory);

            //Creates a visual indication for the update result
            DisplayAddInventoryResult(resultsChanged > 0);

            //Clears UI
            ClearAddInventoryControls();

            //Updates search results
            UpdateItemsSearchResults();
        }
コード例 #4
0
 public Item(ItemDbModel itemModel, InventoryDbModel inventoryModel, TherapeuticClassDbModel therapeuticClass)
 {
     ItemModel        = itemModel;
     InventoryModel   = inventoryModel;
     TherapeuticClass = therapeuticClass;
 }