public static SavedResumeSearchEntity Map(this MemberSearch search, ICriteriaPersister criteriaPersister) { var entity = new SavedResumeSearchEntity { id = search.Id }; search.MapTo(entity, criteriaPersister); return(entity); }
public static SavedJobSearchEntity Map(this JobAdSearch search, ICriteriaPersister criteriaPersister) { var entity = new SavedJobSearchEntity { id = search.Id }; search.MapTo(entity, criteriaPersister); return(entity); }
public static MemberSearchExecution Map(this ResumeSearchEntity entity, ICriteriaPersister criteriaPersister) { return(new MemberSearchExecution { Id = entity.id, Context = entity.context, StartTime = entity.startTime, Duration = entity.duration == null ? (TimeSpan?)null : new TimeSpan(entity.duration.Value), SearcherId = entity.searcherId, SearchId = entity.savedSearchId, Criteria = entity.ResumeSearchCriteriaSetEntity.MapTo <ResumeSearchCriteriaSetEntity, ResumeSearchCriteriaEntity, MemberSearchCriteria>(criteriaPersister, true), Results = entity.ResumeSearchResultSetEntity.Map(), }); }
public static JobAdSearchExecution Map(this JobSearchEntity entity, ICriteriaPersister criteriaPersister) { return(new JobAdSearchExecution { Id = entity.id, Context = entity.context, StartTime = entity.startTime, Duration = new TimeSpan(entity.duration), SearcherId = entity.searcherId, SearcherIp = entity.searcherIp, SearchId = entity.savedSearchId, ChannelId = entity.channelId, AppId = entity.appId, Criteria = entity.JobSearchCriteriaSetEntity.MapTo <JobSearchCriteriaSetEntity, JobSearchCriteriaEntity, JobAdSearchCriteria>(criteriaPersister, true), Results = entity.JobSearchResultSetEntity.Map(), }); }
public static JobAdSearch Map(this SavedJobSearchEntity search, ICriteriaPersister criteriaPersister) { // At one stage if no name was supplied then a HTML snippet was generated based off the criteria and // stored in the "displayText" field. Not ideal. The generated HTML snippet is now generated // as needed in the UI. // Validate what is stored in the database as it comes out, and if it doesn't conform to what is currently valid // for a name then assume it is one of these snippets and simply don't return it. var validator = (IValidator) new RegexValidator(RegularExpressions.CompleteJobAdSearchName, Constants.JobAdSearchNameMinLength, Constants.JobAdSearchNameMaxLength); var name = validator.IsValid(search.displayText) ? search.displayText : null; return(new JobAdSearch { Id = search.id, OwnerId = search.ownerId, Name = name, Criteria = search.JobSearchCriteriaSetEntity.MapTo <JobSearchCriteriaSetEntity, JobSearchCriteriaEntity, JobAdSearchCriteria>(criteriaPersister, true) }); }
public static MemberSearch Map(this SavedResumeSearchEntity search, ICriteriaPersister criteriaPersister) { var memberSearch = new MemberSearch { Id = search.id, CreatedTime = search.createdTime, Name = search.name, OwnerId = search.ownerId, Criteria = search.ResumeSearchCriteriaSetEntity.MapTo <ResumeSearchCriteriaSetEntity, ResumeSearchCriteriaEntity, MemberSearchCriteria>(criteriaPersister, true) }; // For some reason some database entries have a value of 2. var criteria = memberSearch.Criteria; if ((int)criteria.JobTitlesToSearch == 2) { criteria.JobTitlesToSearch = JobsToSearch.RecentJobs; } return(memberSearch); }
public static void MapTo(this MemberSearch search, SavedResumeSearchEntity entity, ICriteriaPersister criteriaPersister) { entity.createdTime = search.CreatedTime; entity.name = search.Name; entity.ownerId = search.OwnerId; entity.ResumeSearchCriteriaSetEntity = search.Criteria.MapTo <ResumeSearchCriteriaSetEntity, ResumeSearchCriteriaEntity, MemberSearchCriteria>(criteriaPersister, true); }
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), }); }
public static Criteria Map(this CampaignEntity entity, CampaignCriteriaSetEntity criteriaSetEntity, ICriteriaPersister criteriaPersister) { var type = ((CampaignCategory)entity.category).ToString(); return(criteriaSetEntity == null ? criteriaPersister.CreateCriteria(type) : criteriaSetEntity.MapTo <CampaignCriteriaSetEntity, CampaignCriteriaEntity, Criteria>(type, criteriaPersister, false)); }
public CampaignCriteriaPersister(ILocationQuery locationQuery, IIndustriesQuery industriesQuery) { _memberPersister = new MemberSearchCriteriaPersister(locationQuery, industriesQuery); _employerPersister = new OrganisationPersister(); }
public MembersRepository(IDataContextFactory dataContextFactory, ICriteriaPersister criteriaPersister) : base(dataContextFactory) { _criteriaPersister = criteriaPersister; }
public static TCriteria MapTo <TCriteriaSetEntity, TCriteriaEntity, TCriteria>(this TCriteriaSetEntity entity, string type, ICriteriaPersister criteriaPersister, bool persistantIsString) where TCriteriaSetEntity : ICriteriaSetEntity <TCriteriaEntity> where TCriteriaEntity : class, ICriteriaEntity where TCriteria : Criteria { // Create first. var criteria = criteriaPersister.CreateCriteria <TCriteria>(type); criteria.Id = entity.id; criteriaPersister.OnLoading(criteria); foreach (var criteriaEntity in entity.Entities) { try { criteria.SetPersistantItem(criteriaEntity.name, criteriaEntity.value, persistantIsString); } catch (Exception ex) { throw new ApplicationException("Could not set the criteria item with name '" + criteriaEntity.name + "'.", ex); } } criteriaPersister.OnLoaded(criteria); return(criteria); }
public static TCriteria MapTo <TCriteriaSetEntity, TCriteriaEntity, TCriteria>(this TCriteriaSetEntity entity, ICriteriaPersister criteriaPersister, bool persistantIsString) where TCriteriaSetEntity : ICriteriaSetEntity <TCriteriaEntity> where TCriteriaEntity : class, ICriteriaEntity where TCriteria : Criteria { return(entity.MapTo <TCriteriaSetEntity, TCriteriaEntity, TCriteria>(entity.type, criteriaPersister, persistantIsString)); }
public static EntitySet <TCriteriaEntity> MapTo <TCriteriaEntity, TCriteria>(this TCriteria criteria, Guid id, ICriteriaPersister criteriaPersister, bool persistantIsString) where TCriteriaEntity : class, ICriteriaEntity, new() where TCriteria : Criteria { var entities = new EntitySet <TCriteriaEntity>(); criteriaPersister.OnSaving(criteria); // Create the set entity and then attach all items that need to be persisted. foreach (var item in criteria.GetPersistantItems(persistantIsString)) { entities.Add(new TCriteriaEntity { id = id, name = item.Name, value = item.Value }); } criteriaPersister.OnSaved(criteria); return(entities); }
public static TCriteriaSetEntity MapTo <TCriteriaSetEntity, TCriteriaEntity, TCriteria>(this TCriteria criteria, string type, ICriteriaPersister criteriaPersister, bool persistantIsString) where TCriteriaSetEntity : ICriteriaSetEntity <TCriteriaEntity>, new() where TCriteriaEntity : class, ICriteriaEntity, new() where TCriteria : Criteria { return(new TCriteriaSetEntity { id = criteria.Id, type = type, Entities = criteria.MapTo <TCriteriaEntity, TCriteria>(criteria.Id, criteriaPersister, persistantIsString) }); }
public static void MapTo(this JobAdSearch search, SavedJobSearchEntity entity, ICriteriaPersister criteriaPersister) { entity.ownerId = search.OwnerId; entity.displayText = search.Name; entity.JobSearchCriteriaSetEntity = search.Criteria.MapTo <JobSearchCriteriaSetEntity, JobSearchCriteriaEntity, JobAdSearchCriteria>(criteriaPersister, true); }