Пример #1
0
        private IQueryable <DiscountRequest> Filter(IQueryable <DiscountRequest> query, SearchDiscountRequests search)
        {
            if (search == null)
            {
                return(query);
            }


            if (search.ProjectId.HasValue)
            {
                query = query.Where(s => s.ProjectId == search.ProjectId);
            }
            if (search.QuoteId.HasValue)
            {
                query = query.Where(s => s.QuoteId == search.QuoteId);
            }

            if (search.PendingRequests)
            {
                query = query.Where(s => s.DiscountRequestStatusTypeId == (byte)DiscountRequestStatusTypeEnum.Pending);
            }

            if (!string.IsNullOrWhiteSpace(search.Filter))
            {
                query = query.Where(s => s.Notes.Contains(search.Filter) || s.ResponseNotes.Contains(search.Filter));
            }

            return(query);
        }
Пример #2
0
        public IQueryable <DiscountRequest> QueryDiscountRequestsViewableBySearch(UserSessionModel user, SearchDiscountRequests search)
        {
            var query = QueryDiscountRequestsViewable(user);

            query = Filter(query, search);

            if (search != null && search.ReturnTotals)
            {
                search.TotalRecords = query.Count();
            }

            query = Sort(query, search);

            query = Paging(user, query, search); // Must be Last

            return(query);
        }