public IList<Entities.FoodEntry> GetFoodEntries(DateTime entryDate, IMealRepository repository) { //retrieve from cache IList<Entities.FoodEntry> foodEntries = MealClient.GetFoodEntries(entryDate); if (foodEntries == null) { //retrieve from database foodEntries = repository.GetFoodEntries(entryDate); //save to cache MealClient.SaveFoodEntries(entryDate, foodEntries); } return foodEntries; }