Esempio n. 1
0
        public async Task <ArticleSearchDTO> SearchArticle(string keyword, int?ArticleCategory_ID, int?ArticleTypeId, int?page, int?PageSize)
        {
            var output              = new ArticleSearchDTO();
            var pKeyword            = new SqlParameter("@Keyword", keyword);
            var pArticleCategory_ID = new SqlParameter("@ArticleCategory_ID", ArticleCategory_ID ?? (object)DBNull.Value);
            var pArticleTypeId      = new SqlParameter("@ArticleType_ID", ArticleTypeId ?? (object)DBNull.Value);
            var pPage        = new SqlParameter("@CurrentPage", page ?? 1);
            var pPageSize    = new SqlParameter("@PageSize", PageSize ?? 10);
            var pActiveCount = new SqlParameter("@ActiveCount", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };
            var pDeActiveCount = new SqlParameter("@DeActiveCount", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };
            var pItemCount = new SqlParameter("@ItemCount", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };

            //var pExceptionArticleID = new SqlParameter("@ExceptionArticle_ID", ArticleCategory_ID ?? (object)DBNull.Value);
            output.Data = await HanomaContext.Set <Article_Search_Result>()
                          .FromSqlRaw(
                $"EXECUTE dbo.Article_Search_Mobile @Keyword = @Keyword, @ArticleCategory_ID = @ArticleCategory_ID,  @ArticleType_ID = @ArticleType_ID,@CurrentPage = @CurrentPage,@PageSize = @PageSize,@ActiveCount = @ActiveCount out, @DeActiveCount = @DeActiveCount out, @ItemCount = @ItemCount out",
                pKeyword, pArticleCategory_ID, pArticleTypeId, pPage, pPageSize, pActiveCount, pDeActiveCount, pItemCount)
                          .AsNoTracking()
                          .ToListAsync();

            output.CurrentPage = page ?? 1;
            output.PageSize    = PageSize ?? 10;
            output.TotalRecord = (int)pItemCount.Value;
            output.TotalPage   = (int)pActiveCount.Value;
            return(output);
        }
Esempio n. 2
0
        public async Task <ArticleSearchDTO> SearchArticle(string keyword, int page, int pageSize)
        {
            ArticleSearchDTO output       = new ArticleSearchDTO();
            string           apiUrl       = $"/api/v1/Article/SearchArticle";
            string           paramRequest = $"?keyword={keyword}&page={page}&PageSize={pageSize}";
            var response = await _client.GetAsync(apiUrl + paramRequest);

            if (response.IsSuccessStatusCode)
            {
                string responseStream = await response.Content.ReadAsStringAsync();

                output = JsonConvert.DeserializeObject <ArticleSearchDTO>(responseStream);
            }
            return(output);
        }
Esempio n. 3
0
        public async Task <ArticleSearchDTO> SearchArticle(string keyword, int?ArticleCategoryId,
                                                           int ArticleTypeId, int?page, int?PageSize)
        {
            keyword = HttpUtility.UrlDecode(keyword);
            var output = new ArticleSearchDTO();

            try
            {
                HttpUtility.HtmlDecode(keyword);
                output = await _repoWrapper.Article.SearchArticle(keyword, ArticleCategoryId, ArticleTypeId, page, PageSize);
            }
            catch (Exception ex)
            {
                _logger.LogError($"SearchArticle: " + ex.ToString());
            }
            return(output);
        }