/// <summary> /// Creates a new product with default values /// </summary> /// <returns></returns> internal Product Create() { Product product = new Product { ReleaseDate = DateTime.Now }; return product; }
/// <summary> /// Saves a new product. /// </summary> /// <param name="product"></param> /// <returns></returns> internal Product Save(Product product) { // Read in the existing products var products = this.Retrieve(); // Assign a new Id var maxId = products.Max(p => p.ProductId); product.ProductId = maxId + 1; products.Add(product); WriteData(products); return product; }
/// <summary> /// Updates an existing product /// </summary> /// <param name="id"></param> /// <param name="product"></param> /// <returns></returns> internal Product Save(int id, Product product) { // Read in the existing products var products = this.Retrieve(); // Locate and replace the item var itemIndex = products.FindIndex(p => p.ProductId == product.ProductId); if (itemIndex > 0) { products[itemIndex] = product; } else { return null; } WriteData(products); return product; }