public async Task <IActionResult> StateListPage( Guid?countryId, int pageNumber = 1, int pageSize = -1, int crp = 1 ) { if (!countryId.HasValue) { return(RedirectToAction("CountryListPage")); } var itemsPerPage = uiOptions.DefaultPageSize_StateList; if (pageSize > 0) { itemsPerPage = pageSize; } var model = new StateListPageViewModel(); var country = await dataManager.FetchCountry(countryId.Value); model.Country = GeoCountryViewModel.FromIGeoCountry(country); model.States = await dataManager.GetGeoZonePage(countryId.Value, pageNumber, itemsPerPage); model.Paging.CurrentPage = pageNumber; model.Paging.ItemsPerPage = itemsPerPage; model.Paging.TotalItems = await dataManager.GetGeoZoneCount(countryId.Value); model.CountryListReturnPageNumber = crp; // below we are just manipiulating the bread crumbs var currentCrumbAdjuster = new NavigationNodeAdjuster(Request.HttpContext); currentCrumbAdjuster.KeyToAdjust = "StateListPage"; currentCrumbAdjuster.AdjustedText = string.Format(sr["{0} States"], model.Country.Name); currentCrumbAdjuster.AdjustedUrl = Request.Path.ToString() + "?countryId=" + country.Id.ToString() + "&crp=" + crp.ToInvariantString(); currentCrumbAdjuster.ViewFilterName = NamedNavigationFilters.Breadcrumbs; // this is default but showing here for readers of code currentCrumbAdjuster.AddToContext(); var countryListCrumbAdjuster = new NavigationNodeAdjuster(Request.HttpContext); countryListCrumbAdjuster.KeyToAdjust = "CountryListPage"; countryListCrumbAdjuster.AdjustedUrl = Request.Path.ToString().Replace("StateListPage", "CountryListPage") + "?pageNumber=" + crp.ToInvariantString(); countryListCrumbAdjuster.AddToContext(); return(View(model)); }
public async Task <IActionResult> StateListPage( Guid?countryGuid, int pageNumber = 1, int pageSize = -1, int crp = 1, bool ajaxGrid = false, bool partial = false) { if (!countryGuid.HasValue) { return(RedirectToAction("CountryListPage")); } ViewBag.Title = "State List Administration"; int itemsPerPage = uiOptions.DefaultPageSize_StateList; if (pageSize > 0) { itemsPerPage = pageSize; } StateListPageViewModel model = new StateListPageViewModel(); IGeoCountry country = await dataManager.FetchCountry(countryGuid.Value); model.Country = GeoCountryViewModel.FromIGeoCountry(country); model.States = await dataManager.GetGeoZonePage(countryGuid.Value, pageNumber, itemsPerPage); model.Paging.CurrentPage = pageNumber; model.Paging.ItemsPerPage = itemsPerPage; model.Paging.TotalItems = await dataManager.GetGeoZoneCount(countryGuid.Value); model.CountryListReturnPageNumber = crp; // below we are just manipiulating the bread crumbs NavigationNodeAdjuster currentCrumbAdjuster = new NavigationNodeAdjuster(Request.HttpContext); currentCrumbAdjuster.KeyToAdjust = "StateListPage"; currentCrumbAdjuster.AdjustedText = model.Country.Name + " States"; currentCrumbAdjuster.AdjustedUrl = Request.Path.ToString() + "?countryGuid=" + country.Guid.ToString() + "&crp=" + crp.ToInvariantString(); currentCrumbAdjuster.ViewFilterName = NamedNavigationFilters.Breadcrumbs; // this is default but showing here for readers of code currentCrumbAdjuster.AddToContext(); NavigationNodeAdjuster countryListCrumbAdjuster = new NavigationNodeAdjuster(Request.HttpContext); countryListCrumbAdjuster.KeyToAdjust = "CountryListPage"; countryListCrumbAdjuster.AdjustedUrl = Request.Path.ToString().Replace("StateListPage", "CountryListPage") + "?pageNumber=" + crp.ToInvariantString(); countryListCrumbAdjuster.AddToContext(); if (ajaxGrid) { return(PartialView("StateListGridPartial", model)); } if (partial) { return(PartialView("StateListPagePartial", model)); } return(View(model)); }