using JobsJobsJobs.Shared; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace JobsJobsJobs.Server.Data { /// /// Converters used to translate between database and domain types /// public static class Converters { /// /// Citizen ID converter /// public static readonly ValueConverter CitizenIdConverter = new(v => v.ToString(), v => CitizenId.Parse(v)); /// /// Continent ID converter /// public static readonly ValueConverter ContinentIdConverter = new(v => v.ToString(), v => ContinentId.Parse(v)); /// /// Job Listing ID converter /// public static readonly ValueConverter ListingIdConverter = new(v => v.ToString(), v => ListingId.Parse(v)); /// /// Markdown converter /// public static readonly ValueConverter MarkdownStringConverter = new(v => v.Text, v => new MarkdownString(v)); /// /// Markdown converter for possibly-null values /// public static readonly ValueConverter OptionalMarkdownStringConverter = new(v => v == null ? null : v.Text, v => v == null ? null : new MarkdownString(v)); /// /// Skill ID converter /// public static readonly ValueConverter SkillIdConverter = new(v => v.ToString(), v => SkillId.Parse(v)); /// /// Success ID converter /// public static readonly ValueConverter SuccessIdConverter = new(v => v.ToString(), v => SuccessId.Parse(v)); } }