Esempio n. 1
0
        public MeetingsWithTypesSpecification(MeetingSpecParams meetingParams)
            : base(x =>
                   (string.IsNullOrEmpty(meetingParams.Search) || x.Name.ToLower().Contains(meetingParams.Search)) &&
                   (!meetingParams.TypeId.HasValue || x.MeetingTypeId == meetingParams.TypeId))
        {
            AddInclude(x => x.MeetingType);
            AddInclude(x => x.Location);
            AddInclude(x => x.Organizer);

            AddOrderBy(x => x.Name);
            ApplyPaging(meetingParams.PageSize * (meetingParams.PageIndex - 1), meetingParams.PageSize);

            if (!string.IsNullOrEmpty(meetingParams.Sort))
            {
                switch (meetingParams.Sort)
                {
                case "dateAsc":
                    AddOrderBy(p => p.Date);
                    break;

                case "dateDesc":
                    AddOrderByDescending(p => p.Date);
                    break;

                default:
                    AddOrderBy(x => x.Name);
                    break;
                }
            }
        }
Esempio n. 2
0
 public MeetingWithFilterCountSpecification(MeetingSpecParams meetingParams)
     : base(x =>
            (string.IsNullOrEmpty(meetingParams.Search) || x.Name.ToLower().Contains(meetingParams.Search)) &&
            (!meetingParams.TypeId.HasValue || x.MeetingTypeId == meetingParams.TypeId))
 {
 }