public ActionResult SearchFor(string sortOrder, string oldSortBy, string memberName) { List <MembersViewModel> lstMembers = null; if (String.IsNullOrWhiteSpace(sortOrder)) { sortOrder = "asc"; } if (!String.IsNullOrWhiteSpace(memberName)) { memberName = memberName.Trim(); memberName = memberName.ToLower(); ViewBag.SearchFor = memberName; lstMembers = dbGarage.Membership.Where(r => r.FirstName.ToLower().Equals(memberName) || r.LastName.ToLower().Equals(memberName)) .Select (m => new MembersViewModel { MembershipId = m.MembershipId, FirstName = m.FirstName, LastName = m.LastName, Name = $"{m.FirstName} {m.LastName}", Vehicles = m.Vehicles.Where(v => v.MembershipId == m.MembershipId).ToList(), TotalVehicles = m.Vehicles.Count() }) .ToList <MembersViewModel>(); } else { lstMembers = dbGarage.Membership .Select (n => new MembersViewModel { MembershipId = n.MembershipId, FirstName = n.FirstName, LastName = n.LastName, Name = $"{n.FirstName} {n.LastName}", Vehicles = n.Vehicles.Where(v => v.MembershipId == n.MembershipId).ToList(), TotalVehicles = n.Vehicles.Count() }) .ToList <MembersViewModel>(); } lstMembers = VehicleHelper.Sort(lstMembers, oldSortBy, sortOrder); ViewBag.SortOrder = sortOrder; ViewBag.OlderSortBy = oldSortBy; return(View("Members", lstMembers)); }
public ActionResult Sort(string sortBy, string sortOrder, string firstName) { List <MembersViewModel> lsMembers = null; if (String.IsNullOrWhiteSpace(sortOrder)) { sortOrder = "asc"; } lsMembers = dbGarage.Membership .Select (n => new MembersViewModel { MembershipId = n.MembershipId, FirstName = n.FirstName, LastName = n.LastName, Name = $"{n.FirstName} {n.LastName}", Vehicles = n.Vehicles.Where(v => v.MembershipId == n.MembershipId).ToList() }) .ToList <MembersViewModel>(); // Sort list with vehicle lsMembers = VehicleHelper.Sort(lsMembers, sortBy, sortOrder); // Now set up sortOrder for next postback if (sortOrder.Equals("desc")) { sortOrder = "asc"; } else { sortOrder = "desc"; } // Set ViewBags ViewBag.SortOrder = sortOrder; ViewBag.OldSortBy = sortBy; return(View("Members", lsMembers)); }