public void AddDevelopment(string productName, Product.Claim claim) { if (Products.Any(prod => prod.Name == productName)) { UpdateProduct(productName, claim); } else { AddProduct(productName, claim); } }
private Dictionary<int, List<Product.Claim>> GroupClaimsByOriginYear(Product product) { var claimsByOriginYear = product.Claims .GroupBy(prod => prod.OriginYear) .ToDictionary(group => group.Key, group => group.ToList()); // Generate missing years for (int originYear = EarliestOriginYear; originYear < LatestDevelopmentYear; originYear++) { bool hasClaimsForYear = claimsByOriginYear.Any(group => group.Key == originYear); if (!hasClaimsForYear) { claimsByOriginYear.Add(originYear, new List<Product.Claim>()); } } return claimsByOriginYear; }
private void UpdateProduct(string productName, Product.Claim claim) { var product = Products.Single(prod => prod.Name == productName); product.Claims.Add(claim); }
private void AddProduct(string productName, Product.Claim claim) { var product = new Product(productName); product.Claims.Add(claim); Products.Add(product); }