public async Task <HttpResponseMessage> GetListPost(string languageCode, POSTSORT_TYPE priority = POSTSORT_TYPE.NEW, byte categoryId = 0, POST_TYPE type = POST_TYPE.ARTICLE, byte numTop = 0)
        {
            try
            {
                //Dictionary<string, object> para = new Dictionary<string, dynamic>();
                //var data =  await _iPostRepo.GetAll(languageCode, (int)CategoryId.Posts, NUM_TOP, (byte)priority);
                List <string> list = new List <string> {
                    "LanguageCode", "CategoryId", "numTop", "priority", "type"
                };
                Dictionary <string, dynamic> para = null;
                if (numTop == 0)
                {
                    numTop = Convert.ToByte(NUM_TOP);
                }

                para = APIProvider.APIDefaultParameter(list, languageCode, categoryId, numTop, (byte)priority, type);

                var data = await _iPostRepo.Query(para);

                var lstPost = Mapper.Map <List <PostListViewModel> >(data);
                var results = new List <PostListViewModel>();
                if (lstPost != null)
                {
                    foreach (var item in lstPost)
                    {
                        string image = item.Image;
                        if (item.Image != null && item.Image != "")
                        {
                            image = item.Image.Contains(ValueConstants.IMAGE_DEFAULT) == true ? null : PatientPortal.Provider.Common.AppConfig.HostAddress_CMS + item?.Image.Remove(0, 1);
                        }
                        var post = new PostListViewModel()
                        {
                            Id                = item.Id,
                            CategoryId        = item.CategoryId,
                            PublishDate       = item.PublishDate,
                            Image             = image,
                            Author            = item.Author,
                            TitleTran         = item.TitleTran,
                            DescriptionTrans  = item.DescriptionTrans,
                            CategoryName      = item.CategoryName,
                            WorkflowStateId   = item.WorkflowStateId,
                            WorkflowStateName = item.WorkflowStateName,
                            Detail            = item.Detail
                        };
                        results.Add(post);
                    }
                }

                return(Request.CreateResponse(HttpStatusCode.OK, results));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task <HttpResponseMessage> GetPaging(string languageCode, byte pageIndex, byte numberInPage, POSTSORT_TYPE priority = POSTSORT_TYPE.NEW, byte categoryId = 0, string Search = null)
        {
            List <string> list = new List <string> {
                "LanguageCode", "CategoryId", "pageIndex", "numberInPage", "priority", "Search"
            };
            Dictionary <string, dynamic> para = null;

            para = APIProvider.APIDefaultParameter(list, languageCode, categoryId, pageIndex, numberInPage, (byte)priority, Search);
            var data = await _iPostRepo.QueryPaging(para);

            var results = new PostPagingViewModel();

            if (data == null)
            {
                results = null;
                return(Request.CreateResponse(HttpStatusCode.OK, results));
            }
            var lstPost = Mapper.Map <List <PostListViewModel> >(data.Item1);

            var listTemp = new List <PostListViewModel>();

            foreach (var item in lstPost)
            {
                string image = item.Image;
                if (item.Image != null && item.Image != "")
                {
                    image = item.Image.Contains(ValueConstants.IMAGE_DEFAULT) == true ? null : PatientPortal.Provider.Common.AppConfig.HostAddress_CMS + item?.Image.Remove(0, 1);
                }
                var post = new PostListViewModel()
                {
                    Id                = item.Id,
                    CategoryId        = item.CategoryId,
                    PublishDate       = item.PublishDate,
                    Image             = image,
                    Author            = item.Author,
                    TitleTran         = item.TitleTran,
                    DescriptionTrans  = item.DescriptionTrans,
                    CategoryName      = item.CategoryName,
                    WorkflowStateId   = item.WorkflowStateId,
                    WorkflowStateName = item.WorkflowStateName
                };
                listTemp.Add(post);
            }
            results.PostListViewModels = listTemp;
            results.TotalItem          = data.Item2;
            return(Request.CreateResponse(HttpStatusCode.OK, results));
        }