示例#1
0
        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));
        }
示例#2
0
        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));
        }