public async Task <ActionResult <ArticleSearchResults> > GetOftenOrderedItems(int affiliateId, int customerId) { const int MAX_RESULTS = 20; ArticleSearchResults returnModel = new ArticleSearchResults(); if (affiliateId == 0 || customerId == 0) { //returnModel.Articles = new List<Article>(); } else { DateTime start = DateTime.Now; returnModel.Articles.AddRange(await Data.GetOftenOrderedItems(affiliateId, customerId).ConfigureAwait(false)); ViewData["QueryRunTime"] = (DateTime.Now - start).TotalMilliseconds.ToString("0", System.Globalization.CultureInfo.InvariantCulture); } returnModel.NoResults = (returnModel.Articles.Count == 0); returnModel.ToManyResults = (returnModel.Articles.Count >= MAX_RESULTS); return(PartialView("InvoiceArticleSearchResults", returnModel)); }
public async Task <ActionResult <ArticleSearchResults> > PznSearchResults(int affiliateId, string searchField) { const int MAX_RESULTS = 20; ArticleSearchResults returnModel = new ArticleSearchResults(); if (string.IsNullOrEmpty(searchField)) { //returnModel.Articles = new List<Article>(); } else { int pzn; if (int.TryParse(searchField.Trim(), out pzn)) { DateTime start = DateTime.Now; returnModel.Articles.AddRange(await Data.PznSearch(affiliateId, pzn, limit: 1).ConfigureAwait(false)); ViewData["QueryRunTime"] = (DateTime.Now - start).TotalMilliseconds.ToString("0", System.Globalization.CultureInfo.InvariantCulture); } else { DateTime start = DateTime.Now; returnModel.Articles.AddRange( (await Data.PznSearch(affiliateId, name: searchField, limit: MAX_RESULTS).ConfigureAwait(false)) .OrderBy(x => x.IsLocked || !x.IsOnline || x.AvailabilityType == 0 || x.AvailabilityType == 4 || x.AvailabilityType == 6) .ThenBy(y => y.DisplayName) ); ViewData["QueryRunTime"] = (DateTime.Now - start).TotalMilliseconds.ToString("0", System.Globalization.CultureInfo.InvariantCulture); } } returnModel.NoResults = (returnModel.Articles.Count == 0); returnModel.ToManyResults = (returnModel.Articles.Count >= MAX_RESULTS); return(PartialView("InvoiceArticleSearchResults", returnModel)); }