From 0f87cb72e559a19bddc6c9d4387ec7d9428291f8 Mon Sep 17 00:00:00 2001 From: ta264 Date: Tue, 29 Mar 2022 21:27:45 +0100 Subject: [PATCH] Fixed: Loading old commands from database [common] --- .../Datastore/Converters/TimeSpanConverter.cs | 19 +++++++++++++++++++ src/NzbDrone.Core/Datastore/TableMapping.cs | 1 + 2 files changed, 20 insertions(+) create mode 100644 src/NzbDrone.Core/Datastore/Converters/TimeSpanConverter.cs diff --git a/src/NzbDrone.Core/Datastore/Converters/TimeSpanConverter.cs b/src/NzbDrone.Core/Datastore/Converters/TimeSpanConverter.cs new file mode 100644 index 000000000..902a26009 --- /dev/null +++ b/src/NzbDrone.Core/Datastore/Converters/TimeSpanConverter.cs @@ -0,0 +1,19 @@ +using System; +using System.Data; +using Dapper; + +namespace NzbDrone.Core.Datastore.Converters +{ + public class DapperTimeSpanConverter : SqlMapper.TypeHandler + { + public override void SetValue(IDbDataParameter parameter, TimeSpan value) + { + parameter.Value = value.ToString(); + } + + public override TimeSpan Parse(object value) + { + return TimeSpan.Parse((string)value); + } + } +} diff --git a/src/NzbDrone.Core/Datastore/TableMapping.cs b/src/NzbDrone.Core/Datastore/TableMapping.cs index 93a21b225..f1554484d 100644 --- a/src/NzbDrone.Core/Datastore/TableMapping.cs +++ b/src/NzbDrone.Core/Datastore/TableMapping.cs @@ -204,6 +204,7 @@ namespace NzbDrone.Core.Datastore SqlMapper.RemoveTypeMap(typeof(DateTime)); SqlMapper.AddTypeHandler(new DapperUtcConverter()); + SqlMapper.AddTypeHandler(new DapperTimeSpanConverter()); SqlMapper.AddTypeHandler(new DapperQualityIntConverter()); SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter>(new QualityIntConverter())); SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter(new QualityIntConverter()));