public ActionResult Organisations() { var model = new OrganisationListVM(); model.Organisations = organisationService.GetOrganisationsForGrid().Select(y => new OrganisationGridItemVM() { Id = y.Id, Name = y.Name, Email = y.Email, Phone = y.Phone, City = y.City, Country = y.Country }).ToList(); return(View(model)); }
public IActionResult OrganisationList(string searchString, string OrganisationCategory, string sorting) { ViewData["fnSortdir"] = sorting == "Name" ? "Name_desc" : "Name"; ViewData["idSortdir"] = sorting == "Id" ? "Id_desc" : "Id"; ViewData["catSortdir"] = sorting == "Category" ? "Category_desc" : "Category"; var query = _context.OrganisationDB.AsQueryable(); if (!string.IsNullOrEmpty(OrganisationCategory)) { query = query.Where(a => a.Category == OrganisationCategory); } if (!string.IsNullOrEmpty(searchString)) { query = query.Where(a => a.Name.Contains(searchString) || a.Address.Contains(searchString)); } if (!string.IsNullOrEmpty(sorting)) { switch (sorting) { case "Id": query = query.OrderBy(q => q.OrganisationId); break; case "Id_desc": query = query.OrderByDescending(q => q.OrganisationId); break; case "Name": query = query.OrderBy(q => q.Name).ThenBy(q => q.Address); break; case "Name_desc": query = query.OrderByDescending(q => q.Name).ThenBy(q => q.Address); break; case "Category": query = query.OrderBy(q => q.Category).ThenBy(q => q.Name); break; case "Category_desc": query = query.OrderByDescending(q => q.Category).ThenBy(q => q.Name); break; default: query = query.OrderBy(q => q.OrganisationId); break; } } IQueryable <string> CategoriesQuery = _context.GetAllCategories(); var OrganisationList = new OrganisationListVM() { Categories = new SelectList(CategoriesQuery.Distinct()), Organisations = query.ToList() }; return(View(OrganisationList)); }