Exemple #1
0
        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));
            }
Exemple #3
0
            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));
            }
Exemple #4
0
        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));
        }
Exemple #5
0
 public bool HasOrganization(string organizationId)
 {
     return(organizationRepo.AsQueryable().Any(x => x.OrganizationId == organizationId));
 }
Exemple #6
0
 public bool HasDistinctKeyword(string keyword)
 {
     return(distinctKeywordRepository.AsQueryable().Any(x => x.Key == keyword));
 }
Exemple #7
0
 public bool HasKeywordForOrganization(string organizationId, string keyword)
 {
     return(keywordRepository.AsQueryable().Any(x => x.OrganizationId == organizationId && x.Key == keyword));
 }
Exemple #8
0
 public virtual IQueryable <TEntity> AsQueryable()
 {
     return(Repository.AsQueryable());
 }