public virtual async Task <ActionResult> Index(int page = 1, String search = "", int?categoryId = null)
        {
            try
            {
                if (!IsModulActive(Type))
                {
                    Logger.Trace("Navigation Modul is not active:" + Type);
                    return(HttpNotFound("Not Found"));
                }

                var newsPageDesignTask = PageDesignService.GetPageDesignByName(StoreId, PageDesingIndexPageName);
                var pageSize           = GetSettingValueInt(Type + "IndexPageSize", StoreConstants.DefaultPageSize);
                var contentsTask       = ContentService.GetContentsCategoryIdAsync(StoreId, categoryId, Type, true, page, pageSize, search);
                var categoriesTask     = CategoryService.GetCategoriesByStoreIdAsync(StoreId, Type, true);

                var settings = GetStoreSettings();
                ContentHelper.StoreSettings = settings;
                ContentHelper.ImageWidth    = GetSettingValueInt(Type + "Index_ImageWidth", 50);
                ContentHelper.ImageHeight   = GetSettingValueInt(Type + "Index_ImageHeight", 50);

                await Task.WhenAll(newsPageDesignTask, contentsTask, categoriesTask);

                var contents   = contentsTask.Result;
                var pageDesign = newsPageDesignTask.Result;
                var categories = categoriesTask.Result;

                if (pageDesign == null)
                {
                    Logger.Error("PageDesing is null:" + PageDesingIndexPageName);
                    throw new Exception("PageDesing is null:" + PageDesingIndexPageName);
                }


                var pageOutput           = ContentHelper.GetContentsIndexPage(contents, pageDesign, categories, Type);
                var pagingPageDesignTask = PageDesignService.GetPageDesignByName(StoreId, "Paging");



                PagingHelper.StoreSettings   = GetStoreSettings();
                PagingHelper.StoreId         = StoreId;
                PagingHelper.PageOutput      = pageOutput;
                PagingHelper.HttpRequestBase = this.Request;
                PagingHelper.RouteData       = this.RouteData;
                PagingHelper.ActionName      = this.ControllerContext.RouteData.Values["action"].ToString();
                PagingHelper.ControllerName  = this.ControllerContext.RouteData.Values["controller"].ToString();
                await Task.WhenAll(pagingPageDesignTask);

                var pagingDic = PagingHelper.GetPaging(pagingPageDesignTask.Result);
                pagingDic.StoreSettings = settings;
                pageOutput.MyStore      = this.MyStore;
                pageOutput.PageTitle    = this.PageTitle;
                return(View(pagingDic));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, Type + "Controller:Index:" + ex.StackTrace, page);
                return(new HttpStatusCodeResult(500));
            }
        }
Esempio n. 2
0
        public async Task <ActionResult> Index(int page = 1)
        {
            try
            {
                if (!IsModulActive(StoreConstants.ProductType))
                {
                    Logger.Trace("Navigation Modul is not active:" + StoreConstants.ProductType);
                    return(HttpNotFound("Not Found"));
                }

                var pageDesignTask = PageDesignService.GetPageDesignByName(StoreId, IndexPageDesingName);
                var pageSize       = GetSettingValueInt("ProductCategories_PageSize", StoreConstants.DefaultPageSize);
                var categoriesTask = ProductCategoryService.GetProductCategoriesByStoreIdAsync(StoreId, StoreConstants.ProductType, true, page, pageSize);
                var settings       = GetStoreSettings();
                ProductCategoryHelper.StoreSettings = settings;

                await Task.WhenAll(pageDesignTask, categoriesTask);

                var pageDesign = pageDesignTask.Result;
                var categories = categoriesTask.Result;

                if (pageDesign == null)
                {
                    throw new Exception("PageDesing is null:" + IndexPageDesingName);
                }


                var pageOutput           = ProductCategoryHelper.GetCategoriesIndexPage(pageDesign, categories);
                var pagingPageDesignTask = PageDesignService.GetPageDesignByName(StoreId, "Paging");


                PagingHelper.StoreSettings   = GetStoreSettings();
                PagingHelper.StoreId         = StoreId;
                PagingHelper.PageOutput      = pageOutput;
                PagingHelper.HttpRequestBase = this.Request;
                PagingHelper.RouteData       = this.RouteData;
                PagingHelper.ActionName      = this.ControllerContext.RouteData.Values["action"].ToString();
                PagingHelper.ControllerName  = this.ControllerContext.RouteData.Values["controller"].ToString();
                await Task.WhenAll(pagingPageDesignTask);

                var pagingDic = PagingHelper.GetPaging(pagingPageDesignTask.Result);
                pagingDic.StoreSettings = settings;
                pagingDic.MyStore       = this.MyStore;
                pageOutput.PageTitle    = "Product Categories";
                return(View(pagingDic));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "ProductCategories:Index:" + ex.StackTrace, page);
                throw ex;
            }
        }
        public async Task <ActionResult> Index(int page = 1)
        {
            try
            {
                var pageDesignTask   = PageDesignService.GetPageDesignByName(StoreId, IndexPageDesingName);
                var pageSize         = GetSettingValueInt("PhotoGallery_PageSize", StoreConstants.DefaultPageSize);
                var fileManagersTask = FileManagerService.GetImagesByFileSizeAsync(StoreId, "ShopStyle", "Best,Large", page, pageSize);
                var settings         = GetStoreSettings();
                PhotoGalleryHelper.StoreSettings = settings;
                PhotoGalleryHelper.ImageWidth    = GetSettingValueInt("PhotoGallery_ImageWidth", 500);
                PhotoGalleryHelper.ImageHeight   = GetSettingValueInt("PhotoGallery_ImageHeight", 500);

                await Task.WhenAll(pageDesignTask, fileManagersTask);

                var pageDesign = pageDesignTask.Result;
                // PhotoGalleryHelper.StoreSettings = GetStoreSettings();
                if (pageDesign == null)
                {
                    throw new Exception("PageDesing is null:" + IndexPageDesingName);
                }


                var fileManagers = fileManagersTask.Result;

                var pageOutput = PhotoGalleryHelper.GetPhotoGalleryIndexPage(pageDesign, fileManagers);

                var pagingPageDesignTask = PageDesignService.GetPageDesignByName(StoreId, "Paging");


                PagingHelper.StoreSettings   = settings;
                PagingHelper.StoreId         = StoreId;
                PagingHelper.PageOutput      = pageOutput;
                PagingHelper.HttpRequestBase = this.Request;
                PagingHelper.RouteData       = this.RouteData;
                PagingHelper.ActionName      = this.ControllerContext.RouteData.Values["action"].ToString();
                PagingHelper.ControllerName  = this.ControllerContext.RouteData.Values["controller"].ToString();
                await Task.WhenAll(pagingPageDesignTask);

                var pagingDic = PagingHelper.GetPaging(pagingPageDesignTask.Result);
                pagingDic.StoreSettings = GetStoreSettings();
                pagingDic.MyStore       = this.MyStore;
                pageOutput.PageTitle    = "Photo Gallery";
                return(View(pagingDic));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "PhotoGallery:Index:" + ex.StackTrace);
                return(new HttpStatusCodeResult(500));
            }
        }
        public virtual async Task <ActionResult> Index(int page = 1)
        {
            try
            {
                var pageDesignTask = PageDesignService.GetPageDesignByName(StoreId, PageDesingIndexPageName);
                var pageSize       = GetSettingValueInt(Type + "Categories_PageSize", StoreConstants.DefaultPageSize);
                var categoriesTask = CategoryService.GetCategoriesByStoreIdWithPagingAsync(StoreId, Type, true, page, pageSize);
                var settings       = GetStoreSettings();
                CategoryHelper.StoreSettings = settings;

                await Task.WhenAll(pageDesignTask, categoriesTask);

                var pageDesign = pageDesignTask.Result;
                var categories = categoriesTask.Result;
                if (pageDesign == null)
                {
                    Logger.Error("PageDesing is null:" + PageDesingIndexPageName);
                    throw new Exception("PageDesing is null:" + PageDesingIndexPageName);
                }
                var pageOutput           = CategoryHelper.GetCategoriesIndexPage(pageDesign, categories, Type);
                var pagingPageDesignTask = PageDesignService.GetPageDesignByName(StoreId, "Paging");


                PagingHelper.StoreSettings   = GetStoreSettings();
                PagingHelper.StoreId         = StoreId;
                PagingHelper.PageOutput      = pageOutput;
                PagingHelper.HttpRequestBase = this.Request;
                PagingHelper.RouteData       = this.RouteData;
                PagingHelper.ActionName      = this.ControllerContext.RouteData.Values["action"].ToString();
                PagingHelper.ControllerName  = this.ControllerContext.RouteData.Values["controller"].ToString();
                await Task.WhenAll(pagingPageDesignTask);

                var pagingDic = PagingHelper.GetPaging(pagingPageDesignTask.Result);
                pagingDic.StoreSettings = settings;
                pagingDic.MyStore       = this.MyStore;
                pagingDic.PageTitle     = this.PageTitle;

                return(View(pagingDic));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, Type + "Categories:Index:" + ex.StackTrace, page);
                return(new HttpStatusCodeResult(500));
            }
        }
        public async Task <ActionResult> Index(
            String search  = "",
            String filters = "",
            String page    = "",
            String id      = "clothes-shoes-and-jewelry")
        {
            search = search.ToStr();
            id     = String.IsNullOrEmpty(id) ? "clothes-shoes-and-jewelry" : id;
            String categoryApiId = id;

            RouteData.Values["id"] = id;
            String headerText = "";
            var    fltrs      = FilterHelper.ParseFiltersFromString(filters);

            if (fltrs.Any())
            {
                headerText = String.Join("– ", fltrs.Select(r => r.Text.ToTitleCase()));
            }

            if (!string.IsNullOrEmpty(search))
            {
                headerText += " '" + search.ToTitleCase() + "'";
            }



            int iPage = page.ToInt(); if (iPage == 0)
            {
                iPage = 1;
            }
            var pageSize                = GetSettingValueInt("ProductsIndex_PageSize", StoreConstants.DefaultPageSize);
            int skip                    = (iPage - 1) * pageSize;
            var categoriesTask          = ProductCategoryService.GetProductCategoriesByStoreIdAsync(StoreId, StoreConstants.ProductType, true);
            var pageDesignTask          = PageDesignService.GetPageDesignByName(StoreId, "ProductsSearchIndexPage");
            var productSearchResultTask = ProductService.GetProductsSearchResult(StoreId, search, filters, pageSize, skip, false, categoryApiId);
            await Task.WhenAll(productSearchResultTask, categoriesTask, pageDesignTask);

            var productSearchResult = productSearchResultTask.Result;
            var pageDesign          = pageDesignTask.Result;
            var categories          = categoriesTask.Result;

            if (pageDesign == null)
            {
                throw new Exception("PageDesing is null:" + IndexPageDesingName);
            }

            var settings = GetStoreSettings();

            ProductHelper.StoreSettings = settings;
            var pageOutput = ProductHelper.GetProductsSearchPage(this, productSearchResult, pageDesign, categories, search, filters, headerText, categoryApiId);

            var pagingPageDesignTask = PageDesignService.GetPageDesignByName(StoreId, "Paging");

            PagingHelper.StoreSettings   = settings;
            PagingHelper.StoreId         = StoreId;
            PagingHelper.PageOutput      = pageOutput;
            PagingHelper.HttpRequestBase = this.Request;
            PagingHelper.RouteData       = this.RouteData;
            PagingHelper.ActionName      = this.ControllerContext.RouteData.Values["action"].ToStr();
            PagingHelper.ControllerName  = this.ControllerContext.RouteData.Values["controller"].ToStr();
            await Task.WhenAll(pagingPageDesignTask);

            var pagingDic = PagingHelper.GetPaging(pagingPageDesignTask.Result);

            pagingDic.StoreSettings = settings;
            pagingDic.PageTitle     = pageOutput.PageTitle;
            pagingDic.MyStore       = this.MyStore;


            pagingDic.DetailLink = "/products/" + categoryApiId;
            pagingDic.PageTitle  = String.IsNullOrEmpty(headerText) ?  pagingDic.PageTitle  : headerText;
            string mmm =
                GetFilter(productSearchResult.Filters, "category", 4) + " " +
                GetFilter(productSearchResult.Filters, "brand", 20);

            ViewData[StoreConstants.MetaTagKeywords]    = pagingDic.PageTitle + ", " + mmm;
            ViewData[StoreConstants.MetaTagDescription] = GeneralHelper.TruncateAtWord(pagingDic.PageTitle + ", " + mmm, 155);

            return(View(pagingDic));
        }
        public async Task <ActionResult> Index3(int page = 1, int catId = 0, String search = "", String filters = "")
        {
            try
            {
                if (!IsModulActive(StoreConstants.ProductType))
                {
                    return(HttpNotFound("Not Found"));
                }

                var pageDesignTask = PageDesignService.GetPageDesignByName(StoreId, IndexPageDesingName);
                var pageSize       = GetSettingValueInt("ProductsIndex_PageSize", StoreConstants.DefaultPageSize);
                var productsTask   = ProductService.GetProductsCategoryIdAsync(StoreId, catId, StoreConstants.ProductType, true, page, pageSize, search, filters);
                var categoriesTask = ProductCategoryService.GetProductCategoriesByStoreIdAsync(StoreId, StoreConstants.ProductType, true);

                var settings = GetStoreSettings();
                ProductHelper.StoreSettings = settings;
                ProductHelper.ImageWidth    = GetSettingValueInt("ProductsIndex_ImageWidth", 50);
                ProductHelper.ImageHeight   = GetSettingValueInt("ProductsIndex_ImageHeight", 50);


                await Task.WhenAll(pageDesignTask, productsTask, categoriesTask);

                var products   = productsTask.Result;
                var pageDesign = pageDesignTask.Result;
                var categories = categoriesTask.Result;



                if (pageDesign == null)
                {
                    throw new Exception("PageDesing is null:" + IndexPageDesingName);
                }


                var pageOutput           = ProductHelper.GetProductsIndexPage(products, pageDesign, categories);
                var pagingPageDesignTask = PageDesignService.GetPageDesignByName(StoreId, "Paging");


                PagingHelper.StoreSettings   = settings;
                PagingHelper.StoreId         = StoreId;
                PagingHelper.PageOutput      = pageOutput;
                PagingHelper.HttpRequestBase = this.Request;
                PagingHelper.RouteData       = this.RouteData;
                PagingHelper.ActionName      = this.ControllerContext.RouteData.Values["action"].ToString();
                PagingHelper.ControllerName  = this.ControllerContext.RouteData.Values["controller"].ToString();
                await Task.WhenAll(pagingPageDesignTask);

                var pagingDic = PagingHelper.GetPaging(pagingPageDesignTask.Result);
                pagingDic.StoreSettings = settings;
                pagingDic.PageTitle     = "Products";
                pagingDic.MyStore       = this.MyStore;



                return(View(pagingDic));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "ProductsController:Index:" + ex.StackTrace, page);
                return(new HttpStatusCodeResult(500));
            }
        }