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));
}
}