/// <summary>
        /// The GetPostsByPaging
        /// </summary>
        /// <param name="_postBusinessService">The _postBusinessService<see cref="IPostBusinessService"/></param>
        /// <param name="page">The page<see cref="int"/></param>
        /// <param name="pageSize">The pageSize<see cref="int"/></param>
        /// <returns>The <see cref="PostViewModel"/></returns>
        public static PostViewModel GetPostsByPaging(IPostBusinessService _postBusinessService, int page, int pageSize)
        {
            var transaction = new TransactionalInformation();
            var posts       = _postBusinessService
                              .GetPostsByPaging(page, pageSize, out transaction);
            var postViewModel = new PostViewModel();

            if (transaction.ReturnStatus == false)
            {
                postViewModel.ReturnStatus     = false;
                postViewModel.ReturnMessage    = transaction.ReturnMessage;
                postViewModel.ValidationErrors = transaction.ValidationErrors;

                //var responseError = Request.CreateResponse(HttpStatusCode.BadRequest, productCategoryViewModel);
                //return responseError;
            }
            else
            {
                postViewModel.ReturnStatus  = true;
                postViewModel.ReturnMessage = transaction.ReturnMessage;
                postViewModel.PostDTOs      = posts;
                postViewModel.Pager         = transaction.Pager;
            }

            return(postViewModel);
        }
        public HttpResponseMessage GetAllPaging(HttpRequestMessage request,
                                                [FromBody] PostViewModel postViewModel)
        {
            var transaction = new TransactionalInformation();

            int currentPageNumber = postViewModel.Pager.CurrentPageNumber;

            int pageSize = postViewModel.Pager.PageSize;

            var postDTOList = _postBusinessService.GetPostsByPaging(currentPageNumber,
                                                                    pageSize, out transaction);

            if (transaction.ReturnStatus == false)
            {
                postViewModel.ReturnStatus     = false;
                postViewModel.ReturnMessage    = transaction.ReturnMessage;
                postViewModel.ValidationErrors = transaction.ValidationErrors;

                var responseError = request.CreateResponse(HttpStatusCode.BadRequest, postViewModel);
                return(responseError);
            }
            else
            {
                postViewModel.ReturnStatus  = true;
                postViewModel.ReturnMessage = transaction.ReturnMessage;
                postViewModel.PostDTOs      = postDTOList;
                postViewModel.Pager         = transaction.Pager;
            }

            var response = request.CreateResponse(HttpStatusCode.OK, postViewModel);

            return(response);
        }