public async Task <ActionResult <Products> > GetProducts(string ProductName)
        {
            var ProductList = await _context.Products.ToListAsync();

            ProductsOutputModel SearchbyName = new ProductsOutputModel
            {
                Items = ProductList.Where(m => m.ProductName.ToUpper().Contains(ProductName.ToUpper())).Select(m => ToProducInfo(m)).ToList()
            };

            return(Ok(SearchbyName));
        }
        public async Task <IActionResult> GetProductSort(string SortBy)
        {
            // DOTO: find a better sotution for this... need to read more
            // I don't likes this quick soluction
            var ProductList = await _context.Products.ToListAsync();

            switch (SortBy)
            {
            case "ProductSKU":
                ProductsOutputModel SortProductSKU = new ProductsOutputModel
                {
                    Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.ProductSKU).ToList()
                };
                return(Ok(SortProductSKU));

            case "ProductPrice":
                ProductsOutputModel SortProductPrice = new ProductsOutputModel
                {
                    Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.ProductPrice).ToList()
                };
                return(Ok(SortProductPrice));

            case "inStock":
                ProductsOutputModel SortinStock = new ProductsOutputModel
                {
                    Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.inStock).ToList()
                };
                return(Ok(SortinStock));

            case "ProductLikes":
                ProductsOutputModel SortProductLikes = new ProductsOutputModel
                {
                    Items = ProductList.Select(m => ToProducInfo(m)).OrderByDescending(x => x.ProductLikes).ToList()
                };
                return(Ok(SortProductLikes));

            case "ProductName":
            default:
                ProductsOutputModel SortProductName = new ProductsOutputModel
                {
                    Items = ProductList.Select(m => ToProducInfo(m)).OrderBy(x => x.ProductName).ToList()
                };
                return(Ok(SortProductName));
            }
        }