public async Task <string> PublishAsync(ApprenticeshipVacancyDetails apprenticeshipVacancyDetails,
                                                Guid socCodeId)
        {
            //Add vacancy
            var addedVacancyId = await repository.AddAsync(new SfApprenticeshipVacancy
            {
                PublicationDate = DateTime.UtcNow,
                UrlName         = Guid.NewGuid().ToString(),
                URL             = apprenticeshipVacancyDetails.VacancyUrl.ToString(),
                Location        =
                    $"{apprenticeshipVacancyDetails.Location.Town} {apprenticeshipVacancyDetails.Location.PostCode}",
                WageUnitType = GetWageUnitText(apprenticeshipVacancyDetails.WageUnit),
                WageAmount   = apprenticeshipVacancyDetails.WageText,
                Title        = apprenticeshipVacancyDetails.Title,
                VacancyId    = apprenticeshipVacancyDetails.VacancyReference.ToString(),
            });

            logger.Info(
                $"Published vacancy '{apprenticeshipVacancyDetails.Title}' to sitefinity for SocCode id '{socCodeId}' with UrlName '{addedVacancyId.UrlName}'");

            await repository.AddRelatedAsync(addedVacancyId.Id.ToString(), socCodeId);

            logger.Info(
                $"Added related field for vacancy '{apprenticeshipVacancyDetails.Title}' to sitefinity for SocCode id '{socCodeId}' with UrlName '{addedVacancyId.UrlName}'");

            await repository.UnlockAndPublishAsync(addedVacancyId.Id.ToString());

            logger.Info(
                $"Published vacancy item '{apprenticeshipVacancyDetails.Title}' to sitefinity with UrlName '{addedVacancyId.UrlName}'");


            return(addedVacancyId.UrlName);
        }
예제 #2
0
        public static string GetDummyApprenticeshipVacancyDetailsResponse()
        {
            var r = new ApprenticeshipVacancyDetails()
            {
                VacancyReference = 123,
            };

            return(JsonConvert.SerializeObject(r));
        }