public virtual async Task <(IList <ProductModel> products, int totalCount)> PrepareProductModel(CourseModel.AssociateProductToCourseModel model, int pageIndex, int pageSize)
        {
            var productService  = _serviceProvider.GetRequiredService <IProductService>();
            var dateTimeService = _serviceProvider.GetRequiredService <IDateTimeService>();
            var products        = await productService.PrepareProductList(model.SearchCategoryId, model.SearchBrandId, model.SearchCollectionId, model.SearchStoreId, model.SearchVendorId, model.SearchProductTypeId, model.SearchProductName, pageIndex, pageSize);

            return(products.Select(x => x.ToModel(dateTimeService)).ToList(), products.TotalCount);
        }