Beispiel #1
0
        public ViewResult Index()
        {
            var homeViewModel = new MembersIndexViewModel
            {
                Members = _membersService.GetAll()?.Select(x => new MemberViewModel(x))
            };

            return(View(homeViewModel));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }