public override List <Data.Model.CarPartSubCategory> Get(CarPartsSearchRequest search)
        {
            var query = _context.Set <CarPartSubCategory>().AsQueryable();

            if (search?.categoryID.HasValue == true)
            {
                query = query.Where(x => x.CategoryID == search.categoryID);
            }

            query = query.OrderBy(x => x.SubCategoryName);

            var list = query.ToList();

            return(_mapper.Map <List <Data.Model.CarPartSubCategory> >(list));
        }
        public override List <Data.ViewModel.CarPartsVM> Get(CarPartsSearchRequest search)
        {
            var query = _context.Set <CarParts>().Include(p => p.Category).Include(p => p.SubCategory).AsQueryable();

            if (search?.categoryID.HasValue == true && search?.subCategoryID.HasValue == false)
            {
                query = query.Where(x => x.CategoryID == search.categoryID);
            }

            if (search?.subCategoryID.HasValue == true)
            {
                query = query.Where(x => x.SubCategoryID == search.subCategoryID);
            }

            query = query.Where(p => p.CarServiceID == search.CarServiceID).OrderBy(x => x.SubCategory.SubCategoryName);
            var list = query.ToList();

            var listVM = new List <Data.ViewModel.CarPartsVM>();

            foreach (var x in list)
            {
                listVM.Add(new Data.ViewModel.CarPartsVM()
                {
                    Name = x.Name,

                    Price           = x.Price,
                    Quality         = x.Quality,
                    CategoryName    = x.Category.CategoryName,
                    SubCategoryName = x.SubCategory.SubCategoryName,
                    CategoryID      = x.CategoryID,
                    SubCategoryID   = x.SubCategoryID,
                    CarPartID       = x.CarPartID
                });
            }
            return(listVM);
        }