public static SavedJobSearchEntity Map(this JobAdSearch search, ICriteriaPersister criteriaPersister) { var entity = new SavedJobSearchEntity { id = search.Id }; search.MapTo(entity, criteriaPersister); return(entity); }
private static void DeleteCriteria(JobAdsDataContext dc, SavedJobSearchEntity entity) { if (entity.JobSearchCriteriaSetEntity != null) { // Need to check that there are no other searches or executions that are using this criteria. if (!IsCriteriaOwnedByOtherSearch(dc, entity.JobSearchCriteriaSetEntity.id, entity.id) && !IsCriteriaOwnedByExecution(dc, entity.JobSearchCriteriaSetEntity.id)) { dc.JobSearchCriteriaEntities.DeleteAllOnSubmit(entity.JobSearchCriteriaSetEntity.JobSearchCriteriaEntities); dc.JobSearchCriteriaSetEntities.DeleteOnSubmit(entity.JobSearchCriteriaSetEntity); } } }
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) }); }
private static Guid CreateSavedJobAdSearch(string type, ICollection <KeyValuePair <string, string> > criteria) { var id = Guid.NewGuid(); using (var dc = new JobAdsDataContext(CreateDbConnectionFactory(false).CreateConnection())) { var entity = new SavedJobSearchEntity { id = id, displayText = string.Empty, JobSearchCriteriaSetEntity = new JobSearchCriteriaSetEntity { id = Guid.NewGuid(), type = type, JobSearchCriteriaEntities = CreateJobSearchCriteria(criteria), }, }; dc.SavedJobSearchEntities.InsertOnSubmit(entity); dc.SubmitChanges(); } return(id); }
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); }