public void TestDeleteSearchExecutionSharedCriteria() { var owner = new Employer { Id = Guid.NewGuid() }; // For some older searches the criteria are shared between searches and executions. var search = new MemberSearch { Name = SearchName, Criteria = CreateAdvancedCriteria(0) }; _memberSearchesCommand.CreateMemberSearch(owner, search); var execution = new MemberSearchExecution { Criteria = CreateAdvancedCriteria(0), Results = new MemberSearchResults(), Context = "xxx" }; _memberSearchesCommand.CreateMemberSearchExecution(execution); UpdateCriteriaId(search.Id, execution.Criteria.Id); // Delete. _memberSearchesCommand.DeleteMemberSearch(owner, search.Id); Assert.IsNull(_memberSearchesQuery.GetMemberSearch(search.Id)); AssertExecution(execution, _memberSearchesQuery.GetMemberSearchExecution(execution.Id)); }
private void SaveSearch(IHasId <Guid> employer, MemberSearchCriteria criteria, CandidatesResponseModel model, int page) { try { var userAgent = HttpContext.Request.UserAgent; //never log monitoring calls if (!string.IsNullOrEmpty(userAgent) && userAgent.Contains("LinkmeMonitoring")) { return; } var app = ActivityContext.Channel.App; var execution = new MemberSearchExecution { Context = "NewSearch", Criteria = criteria.Clone(), Results = new MemberSearchResults { MemberIds = page == 1 ? (from c in model.Candidates select c.Id).ToArray() : new Guid[0], TotalMatches = model.TotalCandidates }, SearcherId = employer == null ? (Guid?)null : employer.Id, ChannelId = app.ChannelId, AppId = app.Id, StartTime = DateTime.Now, }; _memberSearchesCommand.CreateMemberSearchExecution(execution); } catch (Exception) { // Never fail for this. } }
protected static void AssertExecution(MemberSearchExecution expectedExecution, MemberSearchExecution execution) { Assert.AreEqual(expectedExecution.Context, execution.Context); Assert.AreEqual(expectedExecution.Criteria, execution.Criteria); Assert.AreEqual(expectedExecution.SearcherId, execution.SearcherId); Assert.AreEqual(expectedExecution.SearcherIp, execution.SearcherIp); Assert.AreEqual(expectedExecution.SearchId, execution.SearchId); }
void IMembersRepository.CreateMemberSearchExecution(MemberSearchExecution execution, int maxResults) { using (var dc = CreateContext()) { dc.ResumeSearchEntities.InsertOnSubmit(execution.Map(maxResults, _criteriaPersister)); dc.SubmitChanges(); } }
public static ResumeSearchEntity Map(this MemberSearchExecution execution, int maxResults, ICriteriaPersister criteriaPersister) { return(new ResumeSearchEntity { id = execution.Id, context = execution.Context, startTime = execution.StartTime == null ? DateTime.Now : execution.StartTime.Value, duration = execution.Duration == null ? 0 : execution.Duration.Value.Ticks, searcherId = execution.SearcherId, savedSearchId = execution.SearchId, searcherIp = execution.SearcherIp, channelId = execution.ChannelId, appId = execution.AppId, ResumeSearchCriteriaSetEntity = execution.Criteria.MapTo <ResumeSearchCriteriaSetEntity, ResumeSearchCriteriaEntity, MemberSearchCriteria>(criteriaPersister, true), ResumeSearchResultSetEntity = execution.Results.Map(maxResults), }); }
private void LogSearch() { var criteria = new MemberSearchCriteria(); criteria.SetKeywords("test"); var execution = new MemberSearchExecution { SearcherId = _employer.Id, Criteria = criteria, StartTime = DateTime.Now.AddMonths(-1), Results = new MemberSearchResults { MemberIds = new Guid[0] } }; _memberSearchesCommand.CreateMemberSearchExecution(execution); }
private bool CreateResumeSearchActivity(IEmployer employer) { var criteria = new MemberSearchCriteria(); criteria.SetKeywords("test"); var execution = new MemberSearchExecution { SearcherId = employer.Id, Criteria = criteria, StartTime = DateTime.Now.AddMonths(-1), Results = new MemberSearchResults { MemberIds = new Guid[0] } }; _memberSearchesCommand.CreateMemberSearchExecution(execution); return(true); }
public void TestCreateMemberSearchExecution() { var execution = new MemberSearchExecution { SearcherId = Guid.NewGuid(), Criteria = CreateAdvancedCriteria(0), Results = new MemberSearchResults { MemberIds = new List <Guid> { Guid.NewGuid() }, TotalMatches = 1, } }; _memberSearchesCommand.CreateMemberSearchExecution(execution); AssertExecution(execution, _memberSearchesQuery.GetMemberSearchExecution(execution.Id)); AssertExecution(execution, _memberSearchesQuery.GetMemberSearchExecutions(execution.SearcherId.Value)[0]); }
public void TestCreateMemberSearchExecutionWithSearchId() { // Create the search. var owner = new Employer { Id = Guid.NewGuid() }; var search = new MemberSearch { Criteria = CreateAdvancedCriteria(0), Name = SearchName, }; _memberSearchesCommand.CreateMemberSearch(owner, search); // Create the execution. var execution = new MemberSearchExecution { Criteria = search.Criteria.Clone(), SearcherId = Guid.NewGuid(), SearchId = search.Id, Results = new MemberSearchResults { MemberIds = new List <Guid> { Guid.NewGuid() }, TotalMatches = 1, } }; _memberSearchesCommand.CreateMemberSearchExecution(execution); AssertExecution(execution, _memberSearchesQuery.GetMemberSearchExecution(execution.Id)); AssertExecution(execution, _memberSearchesQuery.GetMemberSearchExecutions(execution.SearcherId.Value)[0]); }
private void SaveSearch(SearchContext context, IHasId <Guid> employer, CandidateListModel searchList, int page, Guid?savedSearchId) { try { var userAgent = HttpContext.Request.UserAgent; //never log monitoring calls if (!string.IsNullOrEmpty(userAgent) && userAgent.Contains("LinkmeMonitoring")) { return; } var app = ActivityContext.Channel.App; var execution = new MemberSearchExecution { Context = context.ToString(), Criteria = searchList.Criteria.Clone(), Results = new MemberSearchResults { MemberIds = page == 1 ? searchList.Results.CandidateIds : new Guid[0], TotalMatches = searchList.Results.TotalCandidates }, SearcherId = employer == null ? (Guid?)null : employer.Id, SearchId = savedSearchId, ChannelId = app.ChannelId, AppId = app.Id, StartTime = DateTime.Now, }; _memberSearchesCommand.CreateMemberSearchExecution(execution); } catch (Exception) { // Never fail for this. } }
void IMemberSearchesCommand.CreateMemberSearchExecution(MemberSearchExecution execution) { execution.Prepare(); execution.Validate(); _repository.CreateMemberSearchExecution(execution, MaxExecutionResults); }