public void OnGet(string sortOrder, string currentFilterName, string searchStringName, string currentFilterCAS, string searchStringCAS, int?pageIndex) { CurrentSort = sortOrder; NameSort = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; CASSort = String.IsNullOrEmpty(sortOrder) ? "cas_desc" : ""; if (searchStringName != null) { pageIndex = 1; } else { searchStringName = currentFilterName; if (searchStringCAS != null) { pageIndex = 1; } else { searchStringCAS = currentFilterCAS; } } CurrentFilterName = searchStringName; CurrentFilterCAS = searchStringCAS; IQueryable <Entity> entity = from s in db.Entities where s.EntityType == 2 select s; if (!String.IsNullOrEmpty(searchStringName) && !String.IsNullOrEmpty(searchStringCAS)) { entity = entity.Where(s => s.EntityName.ToUpper().Contains(searchStringName.ToUpper()) && s.OtherId.ToUpper().Contains(searchStringCAS.ToUpper())); } else if (!String.IsNullOrEmpty(searchStringName)) { entity = entity.Where(s => s.EntityName.ToUpper().Contains(searchStringName.ToUpper())); } else if (!String.IsNullOrEmpty(searchStringCAS)) { entity = entity.Where(s => s.OtherId.ToUpper().Contains(searchStringCAS.ToUpper())); } switch (sortOrder) { case "name_desc": entity = entity.OrderByDescending(s => s.EntityName); break; case "cas_desc": entity = entity.OrderByDescending(s => s.OtherId); break; default: entity = entity.OrderBy(s => s.OtherId); break; } int pageSize = 10; Entity = PaginatedList <Entity> .Create(entity.AsNoTracking(), pageIndex ?? 1, pageSize); }
public void OnGet(string sortOrder, string currentFilterPhrase, string searchStringPhrase, string currentFilterCode, string searchStringCode, int?pageIndex) { CurrentSort = sortOrder; PhraseSort = String.IsNullOrEmpty(sortOrder) ? "phrase_desc" : ""; CodeSort = String.IsNullOrEmpty(sortOrder) ? "code_desc" : ""; if (searchStringPhrase != null) { pageIndex = 1; } else { searchStringPhrase = currentFilterPhrase; if (searchStringCode != null) { pageIndex = 1; } else { searchStringCode = currentFilterCode; } } CurrentFilterPhrase = searchStringPhrase; CurrentFilterCode = searchStringCode; IQueryable <EuphracPhrase> phrase = from s in db.Phrases select s; if (!String.IsNullOrEmpty(searchStringPhrase) && !String.IsNullOrEmpty(searchStringCode)) { phrase = phrase.Where(s => s.English.ToUpper().Contains(searchStringPhrase.ToUpper()) && s.EuPhraCStructureCode.Contains(searchStringCode)); } else if (!String.IsNullOrEmpty(searchStringPhrase)) { phrase = phrase.Where(s => s.English.ToUpper().Contains(searchStringPhrase.ToUpper())); } else if (!String.IsNullOrEmpty(searchStringCode)) { phrase = phrase.Where(s => s.EuPhraCStructureCode.Contains(searchStringCode)); } switch (sortOrder) { case "phrase_desc": phrase = phrase.OrderByDescending(s => s.English); break; case "code_desc": phrase = phrase.OrderByDescending(s => s.EuPhraCStructureCode); break; default: phrase = phrase.OrderBy(s => s.EuPhraCStructureCode); break; } int pageSize = 10; Phrase = PaginatedList <EuphracPhrase> .Create(phrase.AsNoTracking(), pageIndex ?? 1, pageSize); }