// Probably this coud be refactor to the generic controller
        // But for example I'll keep here
        public async Task <IActionResult> Filter(Models.Filter.CategoryFilter filter)
        {
            filter.AddViewData(ViewData);
            var list = await _service.GetAllAsync(filter);

            return(View(nameof(Index), list));
        }
        public async Task <IEnumerable <Models.Ecommerce.Category> > GetAllAsync(Models.Filter.CategoryFilter filter)
        {
            var query = DbSet
                        .Where(p => string.IsNullOrWhiteSpace(filter.Name) || p.Name.ToLower().Contains(filter.Name.ToLower()));

            return(await query.ToListAsync());
        }