mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
796 B
29 lines
796 B
using System.Data; |
|
using Dapper; |
|
|
|
namespace ErsatzTV.Infrastructure.Sqlite.Data; |
|
|
|
public abstract class SqliteTypeHandler<T> : SqlMapper.TypeHandler<T> |
|
{ |
|
// Parameters are converted by Microsoft.Data.Sqlite |
|
public override void SetValue(IDbDataParameter parameter, T value) |
|
=> parameter.Value = value; |
|
} |
|
|
|
public class DateTimeOffsetHandler : SqliteTypeHandler<DateTimeOffset> |
|
{ |
|
public override DateTimeOffset Parse(object value) |
|
=> DateTimeOffset.Parse((string)value); |
|
} |
|
|
|
public class GuidHandler : SqliteTypeHandler<Guid> |
|
{ |
|
public override Guid Parse(object value) |
|
=> Guid.Parse((string)value); |
|
} |
|
|
|
public class TimeSpanHandler : SqliteTypeHandler<TimeSpan> |
|
{ |
|
public override TimeSpan Parse(object value) |
|
=> TimeSpan.Parse((string)value); |
|
}
|
|
|