From b4b779df5cf1d848219270014d1f0de00e28d832 Mon Sep 17 00:00:00 2001 From: ta264 Date: Sat, 2 Apr 2022 14:18:07 -0500 Subject: [PATCH] Fixed: Loading old commands from database Fixes #926 (cherry picked from commit 0f87cb72e559a19bddc6c9d4387ec7d9428291f8) --- .../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 685b7fb22..27c70fb9e 100644 --- a/src/NzbDrone.Core/Datastore/TableMapping.cs +++ b/src/NzbDrone.Core/Datastore/TableMapping.cs @@ -105,6 +105,7 @@ namespace NzbDrone.Core.Datastore SqlMapper.RemoveTypeMap(typeof(DateTime)); SqlMapper.AddTypeHandler(new DapperUtcConverter()); + SqlMapper.AddTypeHandler(new DapperTimeSpanConverter()); SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter>()); SqlMapper.AddTypeHandler(new CookieConverter()); SqlMapper.AddTypeHandler(new EmbeddedDocumentConverter>());