/// <summary>
        ///
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <GetProductAllResponse> GetProductAll(GetProductAllRequest request)
        {
            var response = new GetProductAllResponse();

            var param = new GetProductAllParameter()
            {
                StartPage = request.StartPage,
            };

            switch (request.Type)
            {
            case 0:
                response = CheckTypeByDateASC(param);
                break;

            case 1:
                response = CheckTypeByPriceASC(param);
                break;

            case 2:
                response = CheckTypeByPriceDESC(param);
                break;

            case 3:
                response = CheckTypeByDateASC(param);
                break;

            case 4:
                response = CheckTypeByDateDESC(param);
                break;
            }
            return(await Task.FromResult(response));
        }
        /// <summary>
        /// GetProductByCategory
        /// </summary>
        /// <param name="request">GetProductByCategoryRequest</param>
        /// <returns>GetProductAllResponse</returns>
        public async Task <GetProductAllResponse> GetProductByCategory(GetProductByCategoryRequest request)
        {
            var response = new GetProductAllResponse();

            try
            {
                var param = new GetProductByCategoryParameter()
                {
                    IDCategory = request.IDCategory,
                    StartPage  = request.StartPage
                };

                var result = _dataAccess.GetListProductByCategory(param);
                if (result != null)
                {
                    response.ListProductAll = MapList <GET_PRODUCT_BY_CATEGORY_Result, GetProductAllDto>(result.ToList());
                    response.Success        = true;
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
            }
            return(await Task.FromResult(response));
        }
        private GetProductAllResponse CheckTypeByDateDESC(GetProductAllParameter param)
        {
            var response = new GetProductAllResponse();

            try
            {
                var result = _dataAccess.GetListProductAll(param);
                if (result != null)
                {
                    response.ListProductAll = MapList <GETPRODUCTALL_Result, GetProductAllDto>(result.ToList());
                    response.Success        = true;
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
            }
            return(response);
        }