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)); }
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(); } }