Ejemplo n.º 1
0
        public async Task <ActionResult> Keys(AccountKeysModel model)
        {
            model.LoggedInUser = await userService.GetCurrentUser();

            List <String> destNames = new List <String>()
            {
                keysActionDest
            };

            model.FullNavList = CreateAccountControllerNavList(destNames);

            model.Keys = await userService.GetKeys();

            PopulateKeysModel(model);

            model.Keys = model.Keys.OrderBy(k => k.Listing.ListingName).ToList();

            ModelState.Clear();

            return(View(model));
        }
Ejemplo n.º 2
0
        public void PopulateKeysModel(AccountKeysModel model)
        {
            if (model.FilterRevealed)
            {
                // assume only one Filter value can be submitted per form submit
                model.PreviousFilterUnrevealed = false;
                model.PreviousFilterRevealed   = !model.PreviousFilterRevealed;
            }

            if (model.FilterUnrevealed)
            {
                model.PreviousFilterRevealed   = false;
                model.PreviousFilterUnrevealed = !model.PreviousFilterUnrevealed;
            }

            if (model.FilterUsed)
            {
                model.PreviousFilterUnused = false;
                model.PreviousFilterUsed   = !model.PreviousFilterUsed;
            }

            if (model.FilterUnused)
            {
                model.PreviousFilterUsed   = false;
                model.PreviousFilterUnused = !model.PreviousFilterUnused;
            }

            if (String.IsNullOrEmpty(model.SearchText) == false)
            {
                model.Keys = model.Keys.Where(k => k.Listing.ListingName.ToLower().Contains(model.SearchText.ToLower())).ToList();
            }

            if (model.PreviousFilterRevealed)
            {
                model.Keys = model.Keys.Where(k => k.IsRevealed == true).ToList();
            }
            else if (model.PreviousFilterUnrevealed)
            {
                model.Keys = model.Keys.Where(k => k.IsRevealed == false).ToList();
            }

            if (model.PreviousFilterUsed)
            {
                model.Keys = model.Keys.Where(k => k.IsUsed == true).ToList();
            }
            else if (model.PreviousFilterUnused)
            {
                model.Keys = model.Keys.Where(k => k.IsUsed == false).ToList();
            }

            model.CurrentPage = model.SelectedPage;
            if (model.CurrentPage < 1)
            {
                model.CurrentPage = 1;
            }
            model.UserPaginationPreference = model.LoggedInUser.PaginationPreference;
            model.TotalItems = model.Keys.Count();

            if (model.UserPaginationPreference != 0)
            {
                model.Keys = model.Keys.OrderByDescending(k => k.Listing.ListingName).Skip((model.CurrentPage - 1) * model.UserPaginationPreference).Take(model.UserPaginationPreference).ToList();
            }
        }