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; } }
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, }); }
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); }
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; } }
public async Task <SearchInGroupResultModel> AdvancedSearchAsync([Service] ISearchResolver farmResolver, FeedFilterModel criterias) { return(await farmResolver.AdvancedSearchAsync(criterias)); }
public async Task <FeedPageListModel> GetFeedsAsync([Service] IFeedResolver farmResolver, FeedFilterModel criterias) { return(await farmResolver.GetFeedsAsync(criterias)); }
public async Task <FeedPageListModel> GetUserFeedsAsync(ClaimsPrincipal claimsPrincipal, [Service] IFeedResolver farmResolver, FeedFilterModel criterias) { return(await farmResolver.GetUserFeedsAsync(claimsPrincipal, criterias)); }