/// <summary> /// /// </summary> /// <param name="filter"></param> /// <returns></returns> /// <exception cref="NullResultException">Query result returns null/empty list.</exception> List <Product> IProductRepository.GetProduct(ProductFetchingFilter filter) { var rawProductList = dbContext.Products .Include(p => p.Company) .Include(p => p.Builds); var queryResult = (from products in rawProductList select products).ToList(); if (filter.ExactName != null) { queryResult = queryResult.FilterReportsByExactName(filter.ExactName).ToList(); } if (filter.Name != null) { queryResult = queryResult.FilterReportsByName(filter.Name).ToList(); } if (filter.CompanyId != null) { queryResult = queryResult.FilterReportsByCompanyId(filter.CompanyId.Value).ToList(); } if (queryResult == null) { throw new NullResultException("Could not fetch any product."); } //if (!queryResult.Any()) { throw new NullResultException("Could not fetch any product."); } return(queryResult); }
List <ProductQueryData> IProductService.GetProduct(ProductFetchingFilter filter) { List <DAL.Models.Product> productList = null; try { productList = productRepository.GetProduct(filter); } catch (NullResultException) { throw; } List <ProductQueryData> queryResultList = new List <ProductQueryData>(); foreach (var product in productList) { queryResultList.Add(new ProductQueryData(product)); } return(queryResultList); }