Exemplo n.º 1
0
        public virtual quoteDto.QuoteRequestSearchCriteria ToQuoteSearchCriteriaDto(QuoteSearchCriteria criteria)
        {
            var result = new quoteDto.QuoteRequestSearchCriteria
            {
                CustomerId = criteria.CustomerId,
                Skip       = criteria.Start,
                Take       = criteria.PageSize,
                Sort       = criteria.Sort
            };

            return(result);
        }
Exemplo n.º 2
0
 public ActionResult <QuoteSearchResult> QuoteSearch([FromBody] QuoteSearchCriteria criteria)
 {
     if (WorkContext.CurrentUser.IsRegisteredUser)
     {
         //allow search only within self quotes
         criteria.CustomerId = WorkContext.CurrentUser.Id;
         var result = _quoteService.SearchQuotes(criteria);
         return(new QuoteSearchResult
         {
             Results = result.ToArray(),
             TotalCount = result.TotalItemCount
         });
     }
     return(NoContent());
 }
        protected virtual IMutablePagedList <QuoteRequest> LazyLoadCustomerQuotes(Contact customer)
        {
            Func <int, int, IEnumerable <SortInfo>, IPagedList <QuoteRequest> > quotesGetter = (pageNumber, pageSize, sortInfos) =>
            {
                var quoteSearchCriteria = new QuoteSearchCriteria
                {
                    PageNumber = pageNumber,
                    PageSize   = pageSize,
                    Sort       = sortInfos.ToString(),
                    CustomerId = customer.Id
                };
                return(_quoteService.SearchQuotes(quoteSearchCriteria));
            };

            return(new MutablePagedList <QuoteRequest>(quotesGetter, 1, QuoteSearchCriteria.DefaultPageSize));
        }
Exemplo n.º 4
0
        protected virtual async Task <IPagedList <QuoteRequest> > InnerSearchQuotesAsync(QuoteSearchCriteria criteria, WorkContext workContext)
        {
            if (criteria == null)
            {
                throw new ArgumentNullException(nameof(criteria));
            }
            var result = await _quoteApi.SearchAsync(criteria.ToQuoteSearchCriteriaDto());

            return(new StaticPagedList <QuoteRequest>(result.QuoteRequests.Select(x => x.ToQuoteRequest(workContext.CurrentCurrency, workContext.CurrentLanguage)),
                                                      criteria.PageNumber, criteria.PageSize, result.TotalCount.Value));
        }
Exemplo n.º 5
0
        public async Task <IPagedList <QuoteRequest> > SearchQuotesAsync(QuoteSearchCriteria criteria)
        {
            var workContext = _workContextAccessor.WorkContext;

            return(await InnerSearchQuotesAsync(criteria, workContext));
        }
Exemplo n.º 6
0
        public IPagedList <QuoteRequest> SearchQuotes(QuoteSearchCriteria criteria)
        {
            var workContext = _workContextAccessor.WorkContext;

            return(Task.Factory.StartNew(() => InnerSearchQuotesAsync(criteria, workContext), CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
        }
Exemplo n.º 7
0
 public static quoteDto.QuoteRequestSearchCriteria ToQuoteSearchCriteriaDto(this QuoteSearchCriteria criteria)
 {
     return(QuoteConverterInstance.ToQuoteSearchCriteriaDto(criteria));
 }
Exemplo n.º 8
0
        public IPagedList <QuoteRequest> SearchQuotes(QuoteSearchCriteria criteria)
        {
            var workContext = _workContextAccessor.WorkContext;

            return(InnerSearchQuotesAsync(criteria, workContext).GetAwaiter().GetResult());
        }