async public Task <IActionResult> Search(
            string keyword,
            string zone,
            Guid?categoryId = null,
            int?provinceId  = null,
            int?districtId  = null)
        {
            SetPageContent("search");

            var result = _projectEngine.SearchItems(keyword, zone, categoryId: categoryId, provinceId: provinceId, districtId: districtId);

            var user = await _userEngine.CurrentUser(_userManager.GetUserId(User));

            var model = new SearchViewModel()
            {
                PageNumber       = 0,
                Result           = result,
                SearchSortTypes  = _projectEngine.GetSearchSortTypes(),
                SearchSortTypeId = (int)SearchSortTypes.Newest,
                Provinces        = _projectEngine.GetProvincesSelectList(),
                Categories       = _projectEngine.GetUserCategories()
            };

            if (provinceId.HasValue)
            {
                model.Districts = _projectEngine.GetDistrictsSelectList(provinceId);
            }
            else
            {
                model.Districts = _projectEngine.GetDistrictsSelectList(null);
            }

            return(View(model));
        }
 async public Task <IViewComponentResult> InvokeAsync()
 {
     //TODO add caching here
     return(View(new ItemListViewModel()
     {
         Result = _projectEngine.SearchItems(string.Empty, string.Empty).Take(5)
     }));
 }
        public IActionResult Index(string category)
        {
            var pageNumber = 0;
            var obj        = _categoryServices.GetCategory(category);

            if (Request.HasFormContentType && Request.Form.ContainsKey("paging"))
            {
                pageNumber = int.Parse(Request.Form["paging"]);
            }

            var items = _projectEngine.SearchItems(null, null, categoryId: obj.Id, page: pageNumber);

            return(View(new CategoriesViewModel()
            {
                CurrentCategory = obj,
                ImageUrl = obj.ImageUrl,
                Categories = new List <Category>()
                {
                    obj
                },
                Items = items,
                PageNumber = pageNumber
            }));
        }
Beispiel #4
0
        public IActionResult Index(string province, string district)
        {
            var pageNumber  = 0;
            var obj         = _projectEngine.GetProvinces().FirstOrDefault(i => UrlConverter.ToUrlSlug(i.Name) == province);
            var districtObj = obj.District.FirstOrDefault(i => UrlConverter.ToUrlSlug(i.Name) == district);

            if (Request.HasFormContentType && Request.Form.ContainsKey("paging"))
            {
                pageNumber = int.Parse(Request.Form["paging"]);
            }

            var items = _projectEngine.SearchItems(null, null, provinceId: obj.Id, districtId: districtObj.Id, page: pageNumber);

            return(View(new WhereWeViewModel()
            {
                CurrentProvince = obj,
                CurrentDistrict = districtObj,
                Items = items,
                PageNumber = pageNumber
            }));
        }