예제 #1
0
        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());
        }
예제 #2
0
        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());
        }