Beispiel #1
0
        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));
        }