public async Task <ActionResult> CategoryDelete(int categoryId)
        {
            IEnumerable <ProductImage> images;
            IEnumerable <OrderDetail>  details;
            IEnumerable <Review>       reviews;

            var products = _product.FindAllAsync(x => x.CategoryId == categoryId);

            foreach (var product in await products)
            {
                images = await _productImage.FindAllAsync(x => x.ProductId == product.ProductId);

                foreach (var item in images)
                {
                    await _productImage.DeleteAsync(item);
                }

                reviews = await _review.FindAllAsync(x => x.ProductId == product.ProductId);

                foreach (var item in reviews)
                {
                    await _review.DeleteAsync(item);
                }

                details = await _orderDetail.FindAllAsync(x => x.ProductId == product.ProductId);

                foreach (var item in details)
                {
                    await _orderDetail.DeleteAsync(item);
                }

                await _product.DeleteAsync(product);
            }
            await _category.DeleteByIdAsync(categoryId);

            return(Redirect("/trang-quan-tri/quan-ly-danh-muc"));
        }