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); }
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)); }
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)); }
public async Task <IPagedList <QuoteRequest> > SearchQuotesAsync(QuoteSearchCriteria criteria) { var workContext = _workContextAccessor.WorkContext; return(await InnerSearchQuotesAsync(criteria, workContext)); }
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()); }
public static quoteDto.QuoteRequestSearchCriteria ToQuoteSearchCriteriaDto(this QuoteSearchCriteria criteria) { return(QuoteConverterInstance.ToQuoteSearchCriteriaDto(criteria)); }
public IPagedList <QuoteRequest> SearchQuotes(QuoteSearchCriteria criteria) { var workContext = _workContextAccessor.WorkContext; return(InnerSearchQuotesAsync(criteria, workContext).GetAwaiter().GetResult()); }