Esempio n. 1
0
        public async Task <IActionResult> Search(string query, PagingInfo pagingInfo, string method = null, string startdate = null, string enddate = null)
        {
            if (string.IsNullOrEmpty(query))
            {
                return(Ok("No query provided"));
            }

            var cleanedQuery = CleanString(query);

            var getStartDate = string.IsNullOrEmpty(startdate) ? startdate = "'2000-01-01'" : startdate;
            var getEndDate   = string.IsNullOrEmpty(enddate) ? enddate = "'" + DateTime.Today.ToString("yyyy-MM-dd") + "'" : enddate;

            var search = await UseFetchingMethod(cleanedQuery, pagingInfo, method, getStartDate, getEndDate);

            if (search == null || search.Item2 <= 0)
            {
                return(Json(NotFound()));
            }

            var model = search.Item1.Select(s => CreateSearchResultModel(s));

            var urls  = GetUrls(query, pagingInfo, method, getStartDate, getEndDate);
            var prev  = urls[0];
            var next  = urls[1];
            var total = search.Item2;

            var returnType = new ReturnTypeConstants("posts");
            var result     = PagingHelper.GetPagingResult(pagingInfo, total, model, returnType, prev, next);

            return(Ok(result));
        }
Esempio n. 2
0
        public async Task <IActionResult> Search(string query, PagingInfo pagingInfo, string method = null, string sortby = null, string orderby = null)
        {
            if (string.IsNullOrEmpty(query))
            {
                return(Ok("No query provided"));
            }

            var search = await UseFetchingMethod(query, pagingInfo, method, sortby, orderby);

            if (search == null && search.Count <= 0)
            {
                return(NotFound());
            }

            var model = search.Select(s => CreateSearchResultModel(s));

            var          urls       = GetUrls(query, pagingInfo, method, sortby, orderby);
            var          prev       = urls[0];
            var          next       = urls[1];
            var          total      = search.Count();
            const string returnType = "posts";
            var          result     = PagingHelper.GetPagingResult(pagingInfo, total, model, returnType, prev, next);

            return(Ok(result));
        }
Esempio n. 3
0
        public async Task <IActionResult> GetQuestions(PagingInfo pagingInfo)
        {
            var question = await _QuestionRepository.GetAll(pagingInfo);

            IEnumerable <QuestionListModel> model = question.Select(que => CreateQuestionListModel(que));

            var total  = _QuestionRepository.Count();
            var prev   = Url.Link(nameof(GetQuestions), new { page = pagingInfo.Page - 1, pagingInfo.PageSize });
            var next   = Url.Link(nameof(GetQuestions), new { page = pagingInfo.Page + 1, pagingInfo.PageSize });
            var result = PagingHelper.GetPagingResult(pagingInfo, total, model, "Question", prev, next);

            return(Ok(result));
        }
Esempio n. 4
0
        public async Task <IActionResult> GetPosts(PagingInfo pagingInfo)
        {
            var posts = await _PostRepository.GetAll(pagingInfo);

            IEnumerable <PostListModel> model = posts.Select(post => CreatePostListModel(post));

            var total  = _PostRepository.Count();
            var prev   = Url.Link(nameof(GetPosts), new { page = pagingInfo.Page - 1, pagingInfo.PageSize });
            var next   = Url.Link(nameof(GetPosts), new { page = pagingInfo.Page + 1, pagingInfo.PageSize });
            var result = PagingHelper.GetPagingResult(pagingInfo, total, model, "Post", prev, next);

            return(Ok(result));
        }
Esempio n. 5
0
        public async Task <IActionResult> GetNotes(PagingInfo pagingInfo)
        {
            var notes = await _NoteRepository.GetAll(pagingInfo);

            IEnumerable <NoteListModel> model = notes.Select(note => CreateNoteListModel(note));

            var total  = _NoteRepository.Count();
            var prev   = Url.Link(nameof(GetNotes), new { page = pagingInfo.Page - 1, pagingInfo.PageSize });
            var next   = Url.Link(nameof(GetNotes), new { page = pagingInfo.Page + 1, pagingInfo.PageSize });
            var result = PagingHelper.GetPagingResult(pagingInfo, total, model, "Note", prev, next);

            return(Ok(result));
        }
        public async Task <IActionResult> GetQuestions(PagingInfo pagingInfo)
        {
            var question = await _QuestionRepository.GetAll(pagingInfo);

            var model = question.Select(que => CreateQuestionListModel(que));

            var total = _QuestionRepository.Count();
            var prev  = Url.Link(nameof(GetQuestions), new { page = pagingInfo.Page - 1, pagingInfo.PageSize }).ToLower();
            var next  = Url.Link(nameof(GetQuestions), new { page = pagingInfo.Page + 1, pagingInfo.PageSize }).ToLower();

            var returnType = new ReturnTypeConstants("questions");
            var result     = PagingHelper.GetPagingResult(pagingInfo, total, model, returnType, prev, next);

            return(Ok(result));
        }
Esempio n. 7
0
        public async Task <IActionResult> GetHistory(int userid, PagingInfo pagingInfo)
        {
            var history = await _SearchHistoryRepository.GetSearchHistory(userid, pagingInfo);

            var model = history.Select(search => SearchHistoryListModel(search));

            var total = _SearchHistoryRepository.Count();
            var prev  = Url.Link(nameof(GetHistory), new { page = pagingInfo.Page - 1, pagingInfo.PageSize }).ToLower();
            var next  = Url.Link(nameof(GetHistory), new { page = pagingInfo.Page + 1, pagingInfo.PageSize }).ToLower();

            var returnType = new ReturnTypeConstants("searchhistory");
            var result     = PagingHelper.GetPagingResult(pagingInfo, total, model, returnType, prev, next);

            return(Ok(result));
        }
Esempio n. 8
0
        public async Task <IActionResult> GetNotes(PagingInfo pagingInfo)
        {
            // var notes = await _NoteRepository.GetAll(pagingInfo);
            var notes = await _NoteRepository.GetNotes(pagingInfo);

            var model = notes.Select(note => CreateNoteListModel(note));

            var total = _NoteRepository.Count();
            var prev  = Url.Link(nameof(GetNotes), new { page = pagingInfo.Page - 1, pagingInfo.PageSize }).ToLower();
            var next  = Url.Link(nameof(GetNotes), new { page = pagingInfo.Page + 1, pagingInfo.PageSize }).ToLower();

            var returnType = new ReturnTypeConstants("notes");
            var result     = PagingHelper.GetPagingResult(pagingInfo, total, model, returnType, prev, next);

            return(Ok(result));
        }