Esempio n. 1
0
        public async Task <FeedPageListModel> GetFeedsAsync(FeedFilterModel criterias)
        {
            if (criterias == null)
            {
                criterias = new FeedFilterModel();
            }

            var filterRequest = new FeedFilter()
            {
                Page     = criterias.Page,
                PageSize = _pagerOptions.PageSize,
                Keyword  = criterias.Search
            };

            try
            {
                var feedPageList = await _feedService.GetAsync(filterRequest);

                var feeds = await _feedModelService.MapFeedsResultToModelAsync(feedPageList.Collections);

                var feedPage = new FeedPageListModel(feeds)
                {
                    Filter      = criterias,
                    TotalPage   = feedPageList.TotalPage,
                    TotalResult = feedPageList.TotalResult
                };

                return(feedPage);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 2
0
        public async Task <SearchInGroupResultModel> LiveSearchAsync(FeedFilterModel criterias)
        {
            if (criterias == null)
            {
                criterias = new FeedFilterModel();
            }

            var groupOfSearch = await _feedService.LiveSearchInGroupAsync(new FeedFilter()
            {
                Page     = criterias.Page,
                PageSize = _pagerOptions.LiveSearchPageSize,
                Keyword  = criterias.Search
            });

            return(new SearchInGroupResultModel
            {
                Articles = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Articles),
                TotalArticle = groupOfSearch.TotalArticle,
                TotalArticlePage = groupOfSearch.TotalArticlePage,
                Products = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Products),
                TotalProduct = groupOfSearch.TotalProduct,
                TotalProductPage = groupOfSearch.TotalProductPage,
                Farms = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Farms),
                TotalFarm = groupOfSearch.TotalFarm,
                TotalFarmPage = groupOfSearch.TotalFarmPage,
                Users = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Users),
                TotalUser = groupOfSearch.TotalUser,
                TotalUserPage = groupOfSearch.TotalUserPage,
            });
        }
Esempio n. 3
0
        public async Task <SearchInGroupResultModel> AdvancedSearchAsync(FeedFilterModel criterias)
        {
            if (criterias == null)
            {
                criterias = new FeedFilterModel();
            }

            var            currentDateTime = DateTimeOffset.UtcNow;
            DateTimeOffset?createdDateFrom = criterias.HoursCreatedFrom.HasValue ? currentDateTime.AddHours(-criterias.HoursCreatedFrom.Value) : null;
            DateTimeOffset?createdDateTo   = criterias.HoursCreatedTo.HasValue ? currentDateTime.AddHours(-criterias.HoursCreatedTo.Value) : null;
            var            filter          = new FeedFilter
            {
                Page            = criterias.Page,
                PageSize        = _pagerOptions.AdvancedSearchPageSize,
                Keyword         = criterias.Search,
                FilterType      = criterias.FilterType.HasValue ? (FeedFilterType)criterias.FilterType : null,
                CreatedDateFrom = createdDateFrom,
                CreatedDateTo   = createdDateTo
            };

            if (!string.IsNullOrEmpty(criterias.UserIdentityId))
            {
                filter.CreatedById = await _userManager.DecryptUserIdAsync(criterias.UserIdentityId);
            }

            var groupOfSearch = await _feedService.SearchInGroupAsync(filter);

            var searchResult = new SearchInGroupResultModel
            {
                Articles         = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Articles),
                TotalArticle     = groupOfSearch.TotalArticle,
                TotalArticlePage = groupOfSearch.TotalArticlePage,
                Products         = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Products),
                TotalProduct     = groupOfSearch.TotalProduct,
                TotalProductPage = groupOfSearch.TotalProductPage,
                Farms            = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Farms),
                TotalFarm        = groupOfSearch.TotalFarm,
                TotalFarmPage    = groupOfSearch.TotalFarmPage,
                Users            = await _feedModelService.MapFeedsResultToModelAsync(groupOfSearch.Users),
                TotalUser        = groupOfSearch.TotalUser,
                TotalUserPage    = groupOfSearch.TotalUserPage,
            };

            if (!string.IsNullOrEmpty(criterias.UserIdentityId))
            {
                filter.CreatedById = await _userManager.DecryptUserIdAsync(criterias.UserIdentityId);

                var createdUser = await _userManager.FindByIdentityIdAsync(criterias.UserIdentityId);

                if (createdUser != null)
                {
                    searchResult.UserFilterByName = createdUser.DisplayName;
                }
            }

            return(searchResult);
        }
Esempio n. 4
0
        public async Task <FeedPageListModel> GetUserFeedsAsync(ClaimsPrincipal claimsPrincipal, FeedFilterModel criterias)
        {
            if (criterias == null)
            {
                criterias = new FeedFilterModel();
            }

            if (string.IsNullOrEmpty(criterias.UserIdentityId))
            {
                return(new FeedPageListModel(new List <FeedModel>())
                {
                    Filter = criterias
                });
            }

            var currentUserId = GetCurrentUserId(claimsPrincipal);
            var userId        = await _userManager.DecryptUserIdAsync(criterias.UserIdentityId);

            var filterRequest = new FeedFilter
            {
                Page            = criterias.Page,
                PageSize        = _pagerOptions.PageSize,
                Keyword         = criterias.Search,
                CreatedById     = userId,
                CanGetInactived = currentUserId == userId
            };

            try
            {
                var feedPageList = await _feedService.GetAsync(filterRequest);

                var feeds = await _feedModelService.MapFeedsResultToModelAsync(feedPageList.Collections);

                var feedPage = new FeedPageListModel(feeds)
                {
                    Filter      = criterias,
                    TotalPage   = feedPageList.TotalPage,
                    TotalResult = feedPageList.TotalResult
                };

                return(feedPage);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 5
0
 public async Task <SearchInGroupResultModel> AdvancedSearchAsync([Service] ISearchResolver farmResolver, FeedFilterModel criterias)
 {
     return(await farmResolver.AdvancedSearchAsync(criterias));
 }
Esempio n. 6
0
 public async Task <FeedPageListModel> GetFeedsAsync([Service] IFeedResolver farmResolver, FeedFilterModel criterias)
 {
     return(await farmResolver.GetFeedsAsync(criterias));
 }
Esempio n. 7
0
 public async Task <FeedPageListModel> GetUserFeedsAsync(ClaimsPrincipal claimsPrincipal, [Service] IFeedResolver farmResolver, FeedFilterModel criterias)
 {
     return(await farmResolver.GetUserFeedsAsync(claimsPrincipal, criterias));
 }