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); }