public void GetElasticSearchResult_Calls_ElasticSearch_When_SearchFilterEmpty() { var sf = new SearchFilterDataMarketplace(); var result = _service.GetElasticSearchResult(sf); _mockRemoteSearchService.Verify(mock => mock.Search(It.IsAny <SearchRequestDto>()), Times.Once()); }
public async Task NotifyUserAboutUpdates(SearchFilterDataMarketplace sf, List <string> newPids) { Guard.IsNotNull(sf, newPids); string subject = " "; string body = " "; var messageConfig = await this.GetMessageConfigAsync(sf.User.Id); var sendOn = DateTime.Now.CalculateByInterval(messageConfig.SendInterval); var deleteOn = DateTime.Now.CalculateByInterval(messageConfig.DeleteInterval); if (sendOn != null) { deleteOn = sendOn.Value.CalculateByInterval(messageConfig.DeleteInterval); } var messageTemplate = _messageTemplateService.GetOne(MessageType.StoredQueryResult); subject = messageTemplate.Subject.Replace("%SEARCH_NAME%", $"\"{sf.Name}\""); body = messageTemplate.Body.Replace("%UPDATED_RESOURCES%", "<br>" + string.Join("<br>", newPids.Select(x => "<a href=" + x + " </a>" + x))); var messageDto = new MessageDto { Subject = subject, Body = body, SendOn = sendOn, DeleteOn = deleteOn }; AddMessage(sf.User.Id, messageDto); }
public User AppendStoredQueryToSearchFilterDataMarketplace(User user, SearchFilterDataMarketplace sf, StoredQuery sq) { using var context = new AppDataContext(_dbOptions); var searchfilter = user.SearchFiltersDataMarketplace.Where(x => x.Id == sf.Id).FirstOrDefault(); searchfilter.StoredQuery = sq; return(UpdateAndSaveUser(context, user)); }
public void AssignStoredQueryToSearchDatamarketPlace(SearchFilterDataMarketplace sf, StoredQuery sq) { using var context = new AppDataContext(_dbOptions); var storedqiery = context.StoredQueries.Find(sq.Id); var searchfilter = context.SearchFilterDataMarketplace.Find(sf.Id); searchfilter.StoredQuery = sq; this.Update <SearchFilterDataMarketplace>(searchfilter); }
public User AppendSearchFilterDataMarketplaceToUser(SearchFilterDataMarketplace sf, User user) { using var context = new AppDataContext(_dbOptions); var dbUser = context.Users.Find(user.Id); if (dbUser.SearchFiltersDataMarketplace == null) { dbUser.SearchFiltersDataMarketplace = new Collection <SearchFilterDataMarketplace>(); } dbUser.SearchFiltersDataMarketplace.Add(sf); return(UpdateAndSaveUser(context, dbUser)); }
public async Task <SearchResultDTO> GetElasticSearchResult(SearchFilterDataMarketplace searchfilter) { Guard.IsNotNull(searchfilter); var aggregationFilters = searchfilter.FilterJson != null?searchfilter.FilterJson.GetValue("aggregations").ToObject <Dictionary <string, List <string> > >() : new Dictionary <string, List <string> >(); var rangeFilters = searchfilter.FilterJson != null?searchfilter.FilterJson.GetValue("ranges").ToObject <Dictionary <string, Dictionary <string, string> > >() : new Dictionary <string, Dictionary <string, string> >(); var searchRequest = new SearchRequestDto() { From = 0, Size = 10000, SearchTerm = searchfilter.SearchTerm == null ? "*" : searchfilter.SearchTerm, AggregationFilters = aggregationFilters, RangeFilters = rangeFilters, EnableHighlighting = false, ApiCallTime = DateTime.Now.ToString() }; var searchResult = await _remoteSearchService.Search(searchRequest); return(searchResult); }
public StoredQueryBuilder WithSearchFilterDataMarketplace(SearchFilterDataMarketplace SearchFilterDataMarketplace) { _entity.SearchFilterDataMarketplace = SearchFilterDataMarketplace; return(this); }