Esempio n. 1
0
 private static void MapTo(this IHaveDescriptionEntity entity, JobAdDescription description, ILocationQuery locationQuery, IIndustriesQuery industriesQuery)
 {
     description.PositionTitle     = entity.positionTitle;
     description.CompanyName       = entity.employerCompanyName;
     description.Summary           = entity.summary;
     description.Content           = entity.content;
     description.BulletPoints      = TextUtil.StringToArrayForPersistence(BulletPointSeparator, entity.bulletPoints, true);
     description.JobTypes          = (JobTypes)entity.jobTypes;
     description.Package           = entity.packageDetails;
     description.ResidencyRequired = entity.residencyRequired;
     description.Location          = entity.JobAdLocationEntities.Map(locationQuery);
     description.Industries        = entity.JobAdIndustryEntities.Map(industriesQuery);
     description.Salary            = new Salary
     {
         LowerBound = entity.minSalary,
         UpperBound = entity.maxSalary,
         Rate       = (SalaryRate)entity.salaryRateType,
         Currency   = Currency.AUD
     };
     description.ParsedSalary = new Salary
     {
         LowerBound = entity.minParsedSalary,
         UpperBound = entity.maxParsedSalary,
         Rate       = (SalaryRate)entity.salaryRateType,
         Currency   = Currency.AUD
     };
 }
Esempio n. 2
0
        private static void CheckDeleteLocation(JobAdsDataContext dc, JobAd jobAd, IHaveDescriptionEntity entity)
        {
            var entityLocations = Locations(entity);

            if (entityLocations == 0)
            {
                return;
            }

            var locations = Locations(jobAd);

            // There were locations but they have now been removed.

            if (locations == 0)
            {
                DeleteLocations(dc, entity);
            }

            // There were locations but there is now a different number of them.
            // (shouldn't happen, only one location per job ad is allowed but just in case ...)

            if (locations > 0 && entityLocations != locations)
            {
                DeleteLocations(dc, entity);
            }
        }
Esempio n. 3
0
        private static void DeleteIndustries(JobAdsDataContext dc, IHaveDescriptionEntity entity)
        {
            // Cannot update in place so delete whatever is already there.

            if (entity.JobAdIndustryEntities != null && entity.JobAdIndustryEntities.Count > 0)
            {
                dc.JobAdIndustryEntities.DeleteAllOnSubmit(entity.JobAdIndustryEntities);
            }
        }
Esempio n. 4
0
        private static void MapTo(this JobAd jobAd, IHaveDescriptionEntity entity)
        {
            entity.employerCompanyName = jobAd.Description.CompanyName;
            entity.content             = jobAd.Description.Content;
            entity.summary             = jobAd.Description.Summary;
            entity.bulletPoints        = TextUtil.StringFromArrayForPersistence(BulletPointSeparator, jobAd.Description.BulletPoints == null ? null : jobAd.Description.BulletPoints.ToArray());
            entity.jobTypes            = (byte)jobAd.Description.JobTypes;
            entity.packageDetails      = jobAd.Description.Package;
            entity.positionTitle       = jobAd.Description.PositionTitle;
            entity.residencyRequired   = jobAd.Description.ResidencyRequired;
            entity.minSalary           = jobAd.Description.Salary == null ? null : jobAd.Description.Salary.LowerBound;
            entity.maxSalary           = jobAd.Description.Salary == null ? null : jobAd.Description.Salary.UpperBound;
            entity.minParsedSalary     = jobAd.Description.ParsedSalary == null ? null : jobAd.Description.ParsedSalary.LowerBound;
            entity.maxParsedSalary     = jobAd.Description.ParsedSalary == null ? null : jobAd.Description.ParsedSalary.UpperBound;
            entity.salaryRateType      =
                (byte)
                (jobAd.Description.Salary == null || jobAd.Description.Salary.IsEmpty
                     ? jobAd.Description.ParsedSalary == null || jobAd.Description.ParsedSalary.IsEmpty
                           ? 0
                           : jobAd.Description.ParsedSalary.Rate
                     : jobAd.Description.Salary.Rate);
            entity.JobAdIndustryEntities = jobAd.Description.Industries.Map(jobAd.Id);

            // Update the location in place if able.

            if (jobAd.Description.Location != null)
            {
                if (entity.JobAdLocationEntities == null || entity.JobAdLocationEntities.Count != 1)
                {
                    entity.JobAdLocationEntities = jobAd.Description.Location.Map(jobAd.Id);
                }
                else
                {
                    jobAd.Description.Location.MapTo(entity.JobAdLocationEntities[0].LocationReferenceEntity);
                }
            }
        }
Esempio n. 5
0
 private static void DeleteLocations(JobAdsDataContext dc, IHaveDescriptionEntity entity)
 {
     dc.LocationReferenceEntities.DeleteAllOnSubmit(from e in entity.JobAdLocationEntities select e.LocationReferenceEntity);
     dc.JobAdLocationEntities.DeleteAllOnSubmit(entity.JobAdLocationEntities);
     entity.JobAdLocationEntities.Clear();
 }
Esempio n. 6
0
 private static int Locations(IHaveDescriptionEntity entity)
 {
     return(entity.JobAdLocationEntities == null ? 0 : entity.JobAdLocationEntities.Count);
 }