public void TestClearProducts() { ShoppingList sl = new ShoppingList(); sl.OnAdd += this.TestOnAdd; sl.OnUpdateProductCount += this.TestOnUpdateProductCount; sl.OnUpdateTotalCost += this.TestOnUpdateTotalCost; Product p = new Product(); p.Id = 1; p.Name = "TestProduct"; p.Price = 1; sl.Add(null, p); Assert.AreEqual(1, sl.ProductCount); Assert.AreEqual(1, sl.TotalCost); sl.OnUpdateProductCount -= this.TestOnUpdateProductCount; sl.OnUpdateTotalCost -= this.TestOnUpdateTotalCost; sl.OnUpdateProductCount += this.TestClearProductsOnUpdateProductCount; sl.OnUpdateTotalCost += this.TestClearProductsOnUpdateTotalCost; sl.Clear(); Assert.AreEqual(0, sl.ProductCount); Assert.AreEqual(0, sl.TotalCost); }
public override void Add(string tag, Product product) { if (product != null) { Product existingProduct = null; if ((existingProduct = FindProduct(product)) != null) { // If product with same tag exists, we do nothing. If it does, we push it through. string existingTag = null; if ((existingTag = FindTag(tag)) == null) { tags.Add(tag); logger.Write("Register/ShoppingListNoDuplicate", LogLevel.INFO, "Existing product, but new tag. Moving along.."); base.Add(tag, product); } else { logger.Write("Register/ShoppingListNoDuplicate", LogLevel.INFO, "Product with same tag already in basket."); OnAddFail(Color.Red, FLASH_LED_TIMESPAN); } } else { tags.Add(tag); logger.Write("Register/ShoppingListNoDuplicate", LogLevel.INFO, "New product, new tag."); base.Add(tag, product); } } }
public void AddProduct(Product product) { if (product != null) { if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker)delegate() { AddProduct(product); }); } else { string[] row = { product.Id.ToString(), product.Name, "1", product.Price.ToString(), product.Price.ToString() }; try { this.ShoppingListDataGrid.Rows.Add(row); logger.Write("Register/Gui", LogLevel.INFO, string.Format("Added product {0}", product.Id)); } catch (InvalidOperationException ioe) { logger.Write("Register/Gui", LogLevel.ERROR, "Error adding product. " + ioe.ToString()); } } } else { logger.Write("Register/Gui", LogLevel.ERROR, "Add: Profuct is NULL"); } }
public void RemoveProduct(Product product) { if (product != null) { if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker)delegate() { RemoveProduct(product); }); } else { foreach (DataGridViewRow row in this.ShoppingListDataGrid.Rows) { if (row.Cells[0].Value.Equals(product.Id)) { this.ShoppingListDataGrid.Rows.RemoveAt(row.Index); logger.Write("Register/Gui", LogLevel.INFO, String.Format("Removed product {0}", product.Id)); } } } } else { logger.Write("Register/Gui", LogLevel.ERROR, "Remove: Profuct is NULL"); } }
public virtual void Add(string tag, Product product) { if (product != null) { Product existingProduct = null; if ((existingProduct = FindProduct(product)) != null) { products[existingProduct]++; logger.Write("Register/ShoppingList", LogLevel.INFO, string.Format("Updated product ({0})", existingProduct.Id)); OnUpdate(existingProduct, products[existingProduct]); } else { products.Add(product, 1); logger.Write("Register/ShoppingList", LogLevel.INFO, string.Format("Added product ({0})", product.Id)); OnAdd(product); } OnUpdateProductCount(this.ProductCount); OnUpdateTotalCost(this.TotalCost); OnAddSuccess(Color.Green, FLASH_LED_TIMESPAN); } else { logger.Write("Register/ShoppingList", LogLevel.ERROR, "Add: Profuct is NULL"); OnAddFail(Color.Red, FLASH_LED_TIMESPAN); } }
private void TestOnUpdate(Product p, int q) { Assert.AreEqual(1, p.Id); Assert.AreEqual("TestProduct", p.Name); Assert.AreEqual(1, p.Price); Assert.AreEqual(2, q); }
public void TestClearTags() { ShoppingListNoDuplicate sl = new ShoppingListNoDuplicate(); sl.OnAdd += this.TestOnAdd; sl.OnUpdateProductCount += this.TestOnUpdateProductCount; sl.OnUpdateTotalCost += this.TestOnUpdateTotalCost; Product p = new Product(); p.Id = 1; p.Name = "TestProduct"; p.Price = 1; sl.Add("E00401003E44753B", p); Assert.AreEqual(1, sl.ProductCount); Assert.AreEqual(1, sl.TotalCost); Assert.AreEqual(1, sl.TagCount); sl.OnUpdateProductCount -= this.TestOnUpdateProductCount; sl.OnUpdateTotalCost -= this.TestOnUpdateTotalCost; sl.OnUpdateProductCount += this.TestClearProductsOnUpdateProductCount; sl.OnUpdateTotalCost += this.TestClearProductsOnUpdateTotalCost; sl.Clear(); Assert.AreEqual(0, sl.ProductCount); Assert.AreEqual(0, sl.TotalCost); Assert.AreEqual(0, sl.TagCount); }
public void addProduct(Product product) { Product old = (from p in products.Keys where p.Id == product.Id select p).SingleOrDefault(); if (old!=null) { products[old]++; } else { products.Add(product, 1); } }
public int getRequiredQuantityForProduct(Product product) { int required; BasketProduct basketProduct = service.GetBasketProduct(basket.Id, product.Id); if (basketProduct == null) { required = 0; } else { required = basketProduct.Quantity; } return required; }
public void reader_OnTagRead(string tag) { SystemSounds.Asterisk.Play(); if (IsUserLoggedIn()) { product = service.GetProductByTag(tag); if (product != null) { cart.addProduct(product); gui.RefreshList(cart); } } else { LoginUser(tag); if(IsUserLoggedIn()) { gui.RefreshList(cart); } } }
private void TestOnRemove(Product p) { Assert.AreEqual(1, p.Id); Assert.AreEqual("TestProduct", p.Name); Assert.AreEqual(1, p.Price); }
public void UpdateProduct(Product product, int quantity) { if (product != null) { if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker)delegate() { UpdateProduct(product, quantity); }); } else { foreach (DataGridViewRow row in this.ShoppingListDataGrid.Rows) { if (row.Cells[0].Value.Equals(product.Id.ToString())) { row.Cells[2].Value = quantity; row.Cells[4].Value = product.Price * quantity; logger.Write("Register/Gui", LogLevel.INFO, String.Format("Updated product {0}", product.Id)); } } } } else { logger.Write("Register/Gui", LogLevel.ERROR, "Update: Profuct is NULL"); } }
protected Product FindProduct(Product product) { foreach (KeyValuePair<Product, int> p in products) { if (product.Id == p.Key.Id) { return p.Key; } } return null; }
public virtual void Remove(Product product) { if (product != null) { Product existingProduct = null; if ((existingProduct = FindProduct(product)) != null) { this.products.Remove(existingProduct); logger.Write("Register/ShoppingList", LogLevel.INFO, string.Format("Removed product ({0})", existingProduct.Id)); OnRemove(existingProduct); } else { logger.Write("Register/ShoppingList", LogLevel.ERROR, string.Format("Cannot remove product ({0})", existingProduct.Id)); } } else { logger.Write("Register/ShoppingList", LogLevel.ERROR, "Remove: Profuct is NULL"); } }
public int getActualQuantityForProduct(Product product) { return products[product]; }