Beispiel #1
0
        public static SavedResumeSearchEntity Map(this MemberSearch search, ICriteriaPersister criteriaPersister)
        {
            var entity = new SavedResumeSearchEntity {
                id = search.Id
            };

            search.MapTo(entity, criteriaPersister);
            return(entity);
        }
Beispiel #2
0
        public static SavedJobSearchEntity Map(this JobAdSearch search, ICriteriaPersister criteriaPersister)
        {
            var entity = new SavedJobSearchEntity {
                id = search.Id
            };

            search.MapTo(entity, criteriaPersister);
            return(entity);
        }
Beispiel #3
0
 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(),
     });
 }
Beispiel #4
0
 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(),
     });
 }
Beispiel #5
0
        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)
            });
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
 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);
 }
Beispiel #8
0
 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),
     });
 }
Beispiel #9
0
        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();
 }
Beispiel #11
0
 public MembersRepository(IDataContextFactory dataContextFactory, ICriteriaPersister criteriaPersister)
     : base(dataContextFactory)
 {
     _criteriaPersister = criteriaPersister;
 }
Beispiel #12
0
        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);
        }
Beispiel #13
0
 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));
 }
Beispiel #14
0
        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);
        }
Beispiel #15
0
 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)
     });
 }
Beispiel #16
0
 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);
 }