public Task <List <SearchItemDto> > Search(string organizationId, string searchKey) { var result = new List <SearchItemDto>(); if (string.IsNullOrEmpty(organizationId) || string.IsNullOrEmpty(searchKey)) { return(Task.FromResult(result)); } if (HasOrganization(organizationId)) { return(Task.FromResult(result)); } var items = searchRepo.AsQueryable().Where(x => x.OrganizationId == organizationId && BCrypt.Net.BCrypt.Verify(searchKey, x.SearchKey)).OrderByDescending(x => x.Score); foreach (var item in items) { result.Add(new SearchItemDto { Title = item.EncryptedTitle }); } return(Task.FromResult(result)); }
public async Task <IList <CalendarEventResource> > Handle(ListCalendarEntriesQuery request, CancellationToken cancellationToken) { var query = _entityRepository.AsQueryable(); if (!request.Parameters.IncludeHidden) { query = query.Where(x => x.IsHidden == false); } if (request.Parameters.From != null) { query = query.Where(x => request.Parameters.From >= x.StartsAt); } if (request.Parameters.To != null) { query = query.Where(x => x.EndsAt <= request.Parameters.To); } var result = query .OrderBy(x => x.StartsAt) .ToList(); return(_mapper.Map <IList <CalendarEventResource> >(result)); }
public Task <List <ChatMessage> > Handle(ListChatMessagesQuery request, CancellationToken cancellationToken) { return(Task.Run(() => { var query = _entityRepository.AsQueryable(); if (!string.IsNullOrEmpty(request.UserId)) { query = query.Where(x => x.UserId == request.UserId); } if (!string.IsNullOrEmpty(request.ChannelId)) { query = query.Where(x => x.ChannelId == request.ChannelId); } return query.ToList(); }, cancellationToken)); }
public Task <List <TweetDto> > GetTweetItems(string organizationId) { var result = new List <TweetDto>(); if (string.IsNullOrEmpty(organizationId)) { return(Task.FromResult(result)); } if (!HasOrganization(organizationId)) { return(Task.FromResult(result)); } var keywords = this.GetKeywords(organizationId); foreach (var keyword in keywords) { if (tweetRepository.AsQueryable().Any(x => x.Keyword == keyword)) { string key = keyword; var items = tweetRepository.AsOrderedQueryable().Where(x => x.Keyword == key).Take(100).ToList(); foreach (var item in items) { result.Add(new TweetDto { Link = string.Format("https://twitter.com/{0}/status/{1}", item.TwitterUserName, item.TweetStatusID), Time = item.CreatedAt.ToString("dd MMMM dddd - HH:mm", CultureInfo.InvariantCulture), Tag = key, StatusID = item.TweetStatusID, Text = item.TweetText, UserImageUrl = item.TwitterUserImageUrl, UserName = item.TwitterUserName, CreatedAt = item.CreatedAt }); } } } return(Task.FromResult(result)); }
public bool HasOrganization(string organizationId) { return(organizationRepo.AsQueryable().Any(x => x.OrganizationId == organizationId)); }
public bool HasDistinctKeyword(string keyword) { return(distinctKeywordRepository.AsQueryable().Any(x => x.Key == keyword)); }
public bool HasKeywordForOrganization(string organizationId, string keyword) { return(keywordRepository.AsQueryable().Any(x => x.OrganizationId == organizationId && x.Key == keyword)); }
public virtual IQueryable <TEntity> AsQueryable() { return(Repository.AsQueryable()); }