public IHttpActionResult Search(coreModel.QuoteRequestSearchCriteria criteria) { var retVal = _quoteRequestService.Search(criteria); return(Ok(new webModel.QuoteRequestSearchResult { QuoteRequests = retVal.QuoteRequests.Select(x => x.ToWebModel()).ToList(), TotalCount = retVal.TotalCount })); }
public bool BindModel(System.Web.Http.Controllers.HttpActionContext actionContext, ModelBindingContext bindingContext) { if (bindingContext.ModelType != typeof(coreModel.QuoteRequestSearchCriteria)) { return(false); } var qs = HttpUtility.ParseQueryString(actionContext.Request.RequestUri.Query as string); var result = new coreModel.QuoteRequestSearchCriteria(); result.Keyword = qs["q"].EmptyToNull(); result.Status = qs["status"].EmptyToNull(); result.Tag = qs["tag"].EmptyToNull(); result.StoreId = qs["site"].EmptyToNull(); result.CustomerId = qs["customer"].EmptyToNull(); result.Count = qs["count"].TryParse(20); result.Start = qs["start"].TryParse(0); bindingContext.Model = result; return(true); }
public bool BindModel(System.Web.Http.Controllers.HttpActionContext actionContext, ModelBindingContext bindingContext) { if (bindingContext.ModelType != typeof(coreModel.QuoteRequestSearchCriteria)) { return false; } var qs = HttpUtility.ParseQueryString(actionContext.Request.RequestUri.Query as string); var result = new coreModel.QuoteRequestSearchCriteria(); result.Keyword = qs["q"].EmptyToNull(); result.Status = qs["status"].EmptyToNull(); result.Tag = qs["tag"].EmptyToNull(); result.StoreId = qs["site"].EmptyToNull(); result.CustomerId = qs["customer"].EmptyToNull(); result.Count = qs["count"].TryParse(20); result.Start = qs["start"].TryParse(0); bindingContext.Model = result; return true; }
public QuoteRequestSearchResult Search(QuoteRequestSearchCriteria criteria) { QuoteRequestSearchResult retVal = null; using (var repository = _repositoryFactory()) { var query = repository.QuoteRequests; if (criteria.CustomerId != null) { query = query.Where(x => x.CustomerId == criteria.CustomerId); } if (criteria.StoreId != null) { query = query.Where(x => x.StoreId == criteria.StoreId); } if(criteria.Number != null) { query = query.Where(x => x.Number == criteria.Number); } else if(criteria.Keyword != null) { query = query.Where(x => x.Number.Contains(criteria.Keyword)); } if(criteria.Tag != null) { query = query.Where(x => x.Tag == criteria.Tag); } if (criteria.Status != null) { query = query.Where(x => x.Status == criteria.Status); } var ids = query.OrderByDescending(x => x.CreatedDate) .Skip(criteria.Start) .Take(criteria.Count) .Select(x => x.Id) .ToArray(); retVal = new QuoteRequestSearchResult { TotalCount = query.Count(), QuoteRequests = GetByIds(ids).ToList() }; } return retVal; }
public IHttpActionResult Search([ModelBinder(typeof(SearchCriteriaBinder))] coreModel.QuoteRequestSearchCriteria criteria) { var retVal = _quoteRequestService.Search(criteria); return(Ok(retVal)); }