public IReadOnlyList <Event> Get(int minimumGuests) { //TODO : 06 - Filtro con specification var minimumGuestsEventSpecification = new MinimumGuestsEventSpecification(minimumGuests); using (var context = new EventsContext()) return(context.Events.Where(minimumGuestsEventSpecification.ToExpression()) .ToList()); }
public IReadOnlyList <Event> GetValidPremium(int minimumGuests) { //TODO : 07 - Concateno specifications var minimumGuestsEventSpecification = new MinimumGuestsEventSpecification(minimumGuests); var validEventSpecification = new ValidEventSpecification(); var isPremiumEventSpecification = new IsPremiumEventSpecification(); using (var context = new EventsContext()) return(context.Events.Where(minimumGuestsEventSpecification .And(validEventSpecification) .Or(isPremiumEventSpecification) .ToExpression()) .ToList()); }