protected override async void InjectProperties(IOrder toUpdate) { await UpdateDataSets(); _Id = toUpdate.Id; ProductQuantities.Clear(); foreach (KeyValuePair <uint, uint> pair in toUpdate.ProductIdQuantityMap) { IProduct product = Products.First(p => p.Id == pair.Key); ProductQuantities.Add(new ProductQuantityViewModel(product, pair.Value)); } OrderDate = toUpdate.OrderDate; if (toUpdate.DeliveryDate.HasValue) { DeliveryDate = toUpdate.DeliveryDate.Value; Delivered = true; } else { DeliveryDate = DateTime.Now; Delivered = false; } ClientUsernameIndex = -1; for (int i = 0; i < ClientUsernames.Length; ++i) { if (ClientUsernames[i] == toUpdate.ClientUsername) { ClientUsernameIndex = i; break; } } }
public void AddItem(Product product, int amount) { if (product != null && amount > 0) { if (ProductQuantities.TryGetValue(product, out int productAmount)) { ProductQuantities[product] = productAmount + amount; return; } ProductQuantities.Add(product, amount); } }
private void ExecuteAddProduct(IProduct product) { ProductQuantities.Add(new ProductQuantityViewModel(product, 1U)); }