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)) ; }
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()); }
public EnvironmentFormatter(IHtmlToDataTranslator htmlToDataTranslator) { this.htmlToDataTranslator = htmlToDataTranslator; }
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()}."); } }
public HtmlToStringValueConverter(IHtmlToDataTranslator htmlToDataTranslator) { this.htmlToDataTranslator = htmlToDataTranslator; }
public UniformFormatter(IHtmlToDataTranslator htmlToDataTranslator) { this.htmlToDataTranslator = htmlToDataTranslator; }