Пример #1
0
        public void TestQuoteServices_GetQuoteListModel(string testValue)
        {
            if (testValue == "quoteId")
            {
                SearchQuote searchQuote = new SearchQuote();
                searchQuote.QuoteId = _quoteId;

                this.Response = quoteService.GetQuoteListModel(user, searchQuote);
                Assert.That(Response.HasError, Is.EqualTo(false));

                List <QuoteListModel> quoteListModels = Response.Model as List <QuoteListModel>;
                Assert.That(quoteListModels.Count, Is.EqualTo(1));
                Assert.That(quoteListModels.FirstOrDefault().Title, Is.Not.EqualTo(string.Empty));
            }
            else
            {
                SearchQuote searchQuote = new SearchQuote();
                searchQuote.ProjectId = _projectId;

                this.Response = quoteService.GetQuoteListModel(user, searchQuote);
                Assert.That(Response.HasError, Is.EqualTo(false));

                List <QuoteListModel> quoteListModels = Response.Model as List <QuoteListModel>;
                Assert.That(quoteListModels.Count, Is.GreaterThanOrEqualTo(1));
                Assert.That(_quoteCount, Is.EqualTo(quoteListModels.Count));
                Assert.That(quoteListModels.FirstOrDefault().Title, Is.Not.EqualTo(string.Empty));
            }
        }
        public IQueryable <Quote> QueryQuotesViewableBySearch(UserSessionModel user, SearchQuote search)
        {
            var query = QueryQuotesViewableByUser(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);
        }
        private IQueryable <Quote> Filter(IQueryable <Quote> query, SearchQuote 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);
            }

            return(query);
        }
        private IQueryable <Quote> Sort(IQueryable <Quote> query, SearchQuote search)
        {
            if (search == null)
            {
                return(query);
            }

            string sortcolumn = (search.SortColumn + "").ToLower();

            bool desc = search.IsDesc;

            switch (sortcolumn)
            {
            case "title":
                query = (desc) ? query.OrderByDescending(s => s.Title) : query.OrderBy(s => s.Title);
                break;

            default:
                query = (desc) ? query.OrderByDescending(s => s.Revision) : query.OrderBy(s => s.Revision);
                break;
            }

            return(query);
        }