public ApiModelProfile()
        {
            htmlTranslator = new HtmlAgilityPackDataTranslator();
            var htmlToStringValueConverter = new HtmlToStringValueConverter(htmlTranslator);

            CreateMap <JobProfileSkillSegmentDataModel, WhatItTakesApiModel>()
            .ForMember(d => d.DigitalSkillsLevel, s => s.MapFrom(a => a.DigitalSkill))
            .ForMember(d => d.RestrictionsAndRequirements, s => s.MapFrom(a => a))
            ;

            CreateMap <JobProfileSkillSegmentDataModel, RestrictionsAndRequirementsApiModel>()
            .ForMember(d => d.OtherRequirements, opt => opt.ConvertUsing(htmlToStringValueConverter))
            .ForMember(d => d.RelatedRestrictions, s => s.MapFrom(ConvertToList))
            ;

            CreateMap <Skills, RelatedSkillsApiModel>()
            .ForMember(d => d.Description, s => s.MapFrom(
                           a => !string.IsNullOrWhiteSpace(a.ContextualisedSkill.Description)
                        ? a.ContextualisedSkill.Description
                        : a.OnetSkill.Description))
            .ForMember(d => d.ONetAttributeType, s => s.MapFrom(a => a.ContextualisedSkill.ONetAttributeType))
            .ForMember(d => d.ONetRank, s => s.MapFrom(a => a.ContextualisedSkill.ONetRank))
            .ForMember(d => d.ONetElementId, s => s.MapFrom(a => a.OnetSkill.ONetElementId))
            ;
        }
Ejemplo n.º 2
0
        public ApiModelProfile()
        {
            htmlTranslator = new HtmlAgilityPackDataTranslator();
            var htmlToStringConverter = new HtmlToStringValueConverter(htmlTranslator);

            CreateMap <HowToBecomeSegmentDataModel, HowToBecomeApiModel>()
            .ForMember(d => d.EntryRouteSummary, opt => opt.ConvertUsing(htmlToStringConverter))
            .ForMember(d => d.MoreInformation, s => s.MapFrom(a => a))
            ;

            CreateMap <HowToBecomeSegmentDataModel, MoreInformationApiModel>()
            .ForMember(d => d.CareerTips, opt => opt.ConvertUsing(htmlToStringConverter, a => a.MoreInformation.CareerTips))
            .ForMember(d => d.FurtherInformation, opt => opt.ConvertUsing(htmlToStringConverter, a => a.MoreInformation.FurtherInformation))
            .ForMember(d => d.ProfessionalAndIndustryBodies, opt => opt.ConvertUsing(htmlToStringConverter, a => a.MoreInformation.ProfessionalAndIndustryBodies))
            .ForMember(d => d.Registrations, s => s.MapFrom(ConvertRegistrationsToList))
            ;

            CreateMap <EntryRoutes, EntryRoutesApiModel>()
            .ForMember(d => d.University, s => s.MapFrom(a => a.CommonRoutes.FirstOrDefault(f => f.RouteName == Data.Enums.RouteName.University)))
            .ForMember(d => d.College, s => s.MapFrom(a => a.CommonRoutes.FirstOrDefault(f => f.RouteName == Data.Enums.RouteName.College)))
            .ForMember(d => d.Apprenticeship, s => s.MapFrom(a => a.CommonRoutes.FirstOrDefault(f => f.RouteName == Data.Enums.RouteName.Apprenticeship)))
            .ForMember(d => d.Work, opt => opt.ConvertUsing(htmlToStringConverter))
            .ForMember(d => d.Volunteering, opt => opt.ConvertUsing(htmlToStringConverter))
            .ForMember(d => d.DirectApplication, opt => opt.ConvertUsing(htmlToStringConverter))
            .ForMember(d => d.OtherRoutes, opt => opt.ConvertUsing(htmlToStringConverter))
            ;

            CreateMap <CommonRoutes, CommonRouteApiModel>()
            .ForMember(d => d.RelevantSubjects, opt => opt.ConvertUsing(htmlToStringConverter, s => s.Subject))
            .ForMember(d => d.FurtherInformation, opt => opt.ConvertUsing(htmlToStringConverter))
            .ForMember(d => d.EntryRequirements, opt => opt.MapFrom(ConvertEntryRequirementsToList))
            .ForMember(d => d.AdditionalInformation, opt => opt.MapFrom(a => a.AdditionalInformation.Select(i => $"[{i.Text} | {i.Link}]")))
            ;
        }
        private IList <string> TranslateItems(IHtmlToDataTranslator htmlToDataTranslator, IEnumerable <string> sourceItems)
        {
            var result = new List <string>();

            if (htmlToDataTranslator != null)
            {
                foreach (var sourceItem in sourceItems)
                {
                    result.AddRange(htmlToDataTranslator.Translate(sourceItem));
                }
            }
            else
            {
                result.AddRange(sourceItems);
            }

            return(result.ToList());
        }
Ejemplo n.º 4
0
 public EnvironmentFormatter(IHtmlToDataTranslator htmlToDataTranslator)
 {
     this.htmlToDataTranslator = htmlToDataTranslator;
 }
Ejemplo n.º 5
0
 public LocationFormatter(IHtmlToDataTranslator htmlToDataTranslator)
 {
     this.htmlToDataTranslator = htmlToDataTranslator;
 }
        public string GetParagraphText(string openingText, IEnumerable <string> dataItems, string separator, IHtmlToDataTranslator htmlToDataTranslator)
        {
            if (dataItems == null || !dataItems.Any())
            {
                return(string.Empty);
            }

            var translatedDataItems = TranslateItems(htmlToDataTranslator, dataItems);

            switch (translatedDataItems.Count)
            {
            case 1:
                return($"{openingText} {translatedDataItems.FirstOrDefault()}.");

            case 2:
                return($"{openingText} {string.Join($" {separator} ", translatedDataItems)}.");

            default:
                return
                    ($"{openingText} {string.Join(", ", translatedDataItems.Take(translatedDataItems.Count - 1))} {separator} {translatedDataItems.Last()}.");
            }
        }
Ejemplo n.º 7
0
 public HtmlToStringValueConverter(IHtmlToDataTranslator htmlToDataTranslator)
 {
     this.htmlToDataTranslator = htmlToDataTranslator;
 }
 public UniformFormatter(IHtmlToDataTranslator htmlToDataTranslator)
 {
     this.htmlToDataTranslator = htmlToDataTranslator;
 }