public int GetSubTotal(IEnumerable <string> allItems) { int unitPrice = dummyPriceProvider.GetPrice(ApplicableItemType); var noOfItemsOfThisType = allItems?.Count(item => item.Equals(ApplicableItemType, StringComparison.OrdinalIgnoreCase)) ?? 0; int subTotal = (noOfItemsOfThisType / SetSize) * PriceForASet; // price for complete sets subTotal += (noOfItemsOfThisType % SetSize) * unitPrice; // price for any remaining items return(subTotal); }
public int GetSubTotal(IEnumerable <string> allItems) { var priceProvider = new DummyPriceProvider(); return(allItems?.Where(item => item.Equals(ApplicableItemType, StringComparison.OrdinalIgnoreCase))?.Sum(item => priceProvider.GetPrice(item)) ?? 0); }