public SearchModel Get(string query, int[] categories, int?page = null, int?count = null)
        {
            SearchModel res = null;

            try
            {
                int?start = null;
                if (page > 0 && count >= 0)
                {
                    start = (page - 1) * count;
                }
                var names     = SplitQuery(query);
                var container = _productsManager.Search(names, categories?.Select(x => new Category()
                {
                    Id = x
                })?.ToArray(), start, count);
                res = new SearchModel()
                {
                    Total    = container.Total,
                    Products = container.Products
                };
            }
            catch (Exception exc)
            {
                res = new SearchModel()
                {
                    Total    = 0,
                    Products = null
                };
            }
            return(res);
        }