Esempio n. 1
0
 private static void MapTo(this IHaveIntegrationEntity entity, JobAdIntegration integration)
 {
     integration.IntegratorUserId      = entity.integratorUserId;
     integration.IntegratorReferenceId = entity.integratorReferenceId;
     integration.ExternalReferenceId   = entity.externalReferenceId;
     integration.ExternalApplyUrl      = entity.externalApplyUrl;
     ((IHaveApplicationRequirementsEntity)entity).MapTo(integration);
 }
Esempio n. 2
0
        public static void MapTo(this IHaveApplicationRequirementsEntity entity, JobAdIntegration integration)
        {
            integration.ApplicationRequirements = null;
            if (entity == null || string.IsNullOrEmpty(entity.jobg8ApplyForm))
            {
                return;
            }

            var serializer = new XmlSerializer(typeof(ApplicationForm));
            var form       = (ApplicationForm)serializer.Deserialize(new StringReader(entity.jobg8ApplyForm));

            // The form contains the response url in this case so set it now.

            integration.ExternalApplyApiUrl = form.ResponseURI;
            integration.JobBoardId          = form.JobBoardID.ToString();

            integration.ApplicationRequirements = new ApplicationRequirements
            {
                IncludeResume      = false,
                IncludeCoverLetter = false,
                Questions          = null,
            };

            // Questions.

            if (form.Questions != null && form.Questions.Length > 0)
            {
                if (form.Questions.Select(q => q.ID).Contains("CV"))
                {
                    integration.ApplicationRequirements.IncludeResume = true;
                }
                if (form.Questions.Select(q => q.ID).Contains("CoverLetter"))
                {
                    integration.ApplicationRequirements.IncludeCoverLetter = true;
                }

                var specificQuestions = form.Questions.Where(q => !KnownQuestionIDs.Contains(q.ID));
                if (specificQuestions.Count() > 0)
                {
                    integration.ApplicationRequirements.Questions = (from q in specificQuestions select q.Map()).ToList();
                }
            }
        }