public TransactionHolder(InventoryView seller, InventoryView buyer, InventoryViewRow item, int stackLimit) { SellerInventory = seller; BuyerInventory = buyer; TransactionItem = item; TransactionQuantity = 0; StackLimit = stackLimit; }
public static void DeleteEquipmentItem(InventoryView inventory, InventoryViewRow item) { UpdateDatabase += () => { var itemToRemove = Context.Equipment.Where(x => x.Inventory.Id == (int)inventory.Owner && x.Inventory.Id == (int)inventory.Owner && x.Product.Id == item.ProductId).FirstOrDefault(); Context.Equipment.Remove(itemToRemove); Context.SaveChanges(); }; }
public static void UpdateEquipmentItemQuantity(InventoryView inventory, InventoryViewRow item, int newQuantity) { UpdateDatabase += () => { var itemToUpdate = Context.Equipment.Where(x => x.Inventory.Id == (int)inventory.Owner && x.Product.Id == item.ProductId).FirstOrDefault(); itemToUpdate.Quantity = newQuantity; Context.SaveChanges(); }; }
public static void AddEquipmentItem(InventoryView inventory, InventoryViewRow item, int quantity) { UpdateDatabase += () => { Context.Equipment.Add(new EquipmentElement() { Inventory = Context.Inventories.Where(x => x.Id == (int)inventory.Owner).FirstOrDefault(), Product = Context.Products.Where(x => x.Id == item.ProductId).FirstOrDefault(), Quantity = quantity }); Context.SaveChanges(); }; }
private void DisassembleItem(object sender, RoutedEventArgs e) { var disassemblerWindow = new DisassemblingPopup(ItemTracker); disassemblerWindow.ShowDialog(); if (disassemblerWindow.shouldDisassembleItem) { DbTransactionHolder.UpdateEquipmentItemQuantity(UserInventoryView, ItemTracker.SelectedItem, ItemTracker.SelectedItem.Quantity - 1); ItemTracker.SelectedItem.Quantity -= 1; foreach (var product in ItemTracker.SelectedItem.DisassemblyProducts) { if (UserInventoryView.FullInventoryView.Find(x => x.ProductId == product.Id && x.Quantity < x.StackLimit) is InventoryViewRow inventoryElement) { inventoryElement.Quantity += 1; DbTransactionHolder.UpdateEquipmentItemQuantity(UserInventoryView, inventoryElement, inventoryElement.Quantity); } else { inventoryElement = new InventoryViewRow(product); UserInventoryView.FullInventoryView.Add(inventoryElement); DbTransactionHolder.AddEquipmentItem(UserInventoryView, inventoryElement, 1); } } } if (ItemTracker.SelectedItem.Quantity <= 0) { UserInventoryView.FullInventoryView.Remove(ItemTracker.SelectedItem); DbTransactionHolder.DeleteEquipmentItem(UserInventoryView, ItemTracker.SelectedItem); } DisassemblyButton.Visibility = Visibility.Collapsed; ConsumeButton.Visibility = Visibility.Collapsed; UserInventory.SelectedIndex = -1; SellButton.IsEnabled = false; ItemDescription.Text = string.Empty; FillGrids(); }
public SelectedItemTracker() { SelectedItem = new InventoryViewRow(); }