public ViewResult Index() { var homeViewModel = new MembersIndexViewModel { Members = _membersService.GetAll()?.Select(x => new MemberViewModel(x)) }; return(View(homeViewModel)); }
public ActionResult Index(string search = "", string sortOn = "NAME", bool isAsc = false) { // get all items and map to item models. These filter out in active items in repo var items = _memberRepository.GetAll().Select(x => new MemberItemViewModel(x)); // if no search then ignore this filter if (!string.IsNullOrEmpty(search)) { items = items.Where(x => x.Name.Contains(search)); } // perform sorting switch switch (sortOn.ToUpper()) { case "NAME": items = isAsc ? items.OrderBy(x => x.Name) : items.OrderByDescending(x => x.Name); break; case "MEMBERTYPE": items = isAsc ? items.OrderBy(x => x.MemberType) : items.OrderByDescending(x => x.MemberType); break; case "EMAIL": items = isAsc ? items.OrderBy(x => x.Email) : items.OrderByDescending(x => x.Email); break; case "PHONE": items = isAsc ? items.OrderBy(x => x.Phone) : items.OrderByDescending(x => x.Phone); break; case "MOBILE": items = isAsc ? items.OrderBy(x => x.Mobile) : items.OrderByDescending(x => x.Mobile); break; default: items = isAsc ? items.OrderBy(x => x.Name) : items.OrderByDescending(x => x.Name); break; } // map model var model = new MembersIndexViewModel { TableModel = new Models.TableModel { IsAsc = isAsc, SortOn = sortOn, Search = search }, MemberRows = items }; return(View(model)); }
public IActionResult All(string sortOrder, string searchName = null) { var members = this.characterService .GetAllCharacters <CharacterViewModel>() .ToList(); var totalMembersCount = members.Count; switch (sortOrder) { case "level": members = members.OrderByDescending(m => m.Level).ToList(); break; case "class": members = members.OrderByDescending(m => m.Class).ToList(); break; case "role": members = members.OrderByDescending(m => m.Role).ToList(); break; case "name": members = members.OrderByDescending(m => m.Name).ToList(); break; } if (searchName != null) { members = members.Where(m => m.Name.Contains(searchName)).ToList(); } var membersIndexViewModel = new MembersIndexViewModel { Members = members, MembersCount = totalMembersCount }; return(this.View(membersIndexViewModel)); }