Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 1132ddb

Browse files
authored
Compatible with vs2019 (#664)
1 parent 9b3c945 commit 1132ddb

File tree

4 files changed

+118
-116
lines changed

4 files changed

+118
-116
lines changed

src/ServiceStack.OrmLite.PostgreSQL/Converters/PostgreSqlDateOnlyConverter.cs

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,33 @@
22
using ServiceStack.OrmLite.Converters;
33

44
#if NET6_0
5-
namespace ServiceStack.OrmLite.PostgreSQL.Converters;
6-
7-
public class PostgreSqlDateOnlyConverter : PostgreSqlDateTimeConverter
5+
namespace ServiceStack.OrmLite.PostgreSQL.Converters
86
{
9-
public override string ToQuotedString(Type fieldType, object value)
7+
public class PostgreSqlDateOnlyConverter : PostgreSqlDateTimeConverter
108
{
11-
var dateOnly = (DateOnly)value;
12-
return DateTimeFmt(dateOnly.ToDateTime(default, DateTimeKind.Utc), "yyyy-MM-dd HH:mm:ss.fff");
13-
}
9+
public override string ToQuotedString(Type fieldType, object value)
10+
{
11+
var dateOnly = (DateOnly)value;
12+
return DateTimeFmt(dateOnly.ToDateTime(default, DateTimeKind.Utc), "yyyy-MM-dd HH:mm:ss.fff");
13+
}
1414

15-
public override object ToDbValue(Type fieldType, object value)
16-
{
17-
var dateOnly = (DateOnly)value;
18-
var dateTime = dateOnly.ToDateTime(default, DateTimeKind.Utc);
19-
if (dateTime.Kind != DateTimeKind.Utc)
20-
dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
21-
return dateTime;
22-
}
15+
public override object ToDbValue(Type fieldType, object value)
16+
{
17+
var dateOnly = (DateOnly)value;
18+
var dateTime = dateOnly.ToDateTime(default, DateTimeKind.Utc);
19+
if (dateTime.Kind != DateTimeKind.Utc)
20+
dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
21+
return dateTime;
22+
}
2323

24-
public override object FromDbValue(object value)
25-
{
26-
var dateTime = (DateTime)base.FromDbValue(value);
27-
if (dateTime.Kind == DateTimeKind.Unspecified)
28-
dateTime = dateTime.ToLocalTime();
29-
var dateOnly = DateOnly.FromDateTime(dateTime);
30-
return dateOnly;
24+
public override object FromDbValue(object value)
25+
{
26+
var dateTime = (DateTime)base.FromDbValue(value);
27+
if (dateTime.Kind == DateTimeKind.Unspecified)
28+
dateTime = dateTime.ToLocalTime();
29+
var dateOnly = DateOnly.FromDateTime(dateTime);
30+
return dateOnly;
31+
}
3132
}
3233
}
33-
3434
#endif
Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
using System;
22

33
#if NET6_0
4-
namespace ServiceStack.OrmLite.Converters;
5-
6-
public class DateOnlyConverter : DateTimeConverter
4+
namespace ServiceStack.OrmLite.Converters
75
{
8-
public override string ToQuotedString(Type fieldType, object value)
6+
public class DateOnlyConverter : DateTimeConverter
97
{
10-
var dateOnly = (DateOnly)value;
11-
return DateTimeFmt(dateOnly.ToDateTime(default, DateTimeKind.Local), "yyyy-MM-dd HH:mm:ss.fff");
12-
}
8+
public override string ToQuotedString(Type fieldType, object value)
9+
{
10+
var dateOnly = (DateOnly)value;
11+
return DateTimeFmt(dateOnly.ToDateTime(default, DateTimeKind.Local), "yyyy-MM-dd HH:mm:ss.fff");
12+
}
1313

14-
public override object ToDbValue(Type fieldType, object value)
15-
{
16-
var dateOnly = (DateOnly)value;
17-
return base.ToDbValue(typeof(DateTime), dateOnly.ToDateTime(default, DateTimeKind.Local));
18-
}
14+
public override object ToDbValue(Type fieldType, object value)
15+
{
16+
var dateOnly = (DateOnly)value;
17+
return base.ToDbValue(typeof(DateTime), dateOnly.ToDateTime(default, DateTimeKind.Local));
18+
}
1919

20-
public override object FromDbValue(object value)
21-
{
22-
var dateTime = (DateTime)base.FromDbValue(value);
23-
if (dateTime.Kind != DateTimeKind.Local)
24-
dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Local);
25-
var dateOnly = DateOnly.FromDateTime(dateTime);
26-
return dateOnly;
20+
public override object FromDbValue(object value)
21+
{
22+
var dateTime = (DateTime)base.FromDbValue(value);
23+
if (dateTime.Kind != DateTimeKind.Local)
24+
dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Local);
25+
var dateOnly = DateOnly.FromDateTime(dateTime);
26+
return dateOnly;
27+
}
2728
}
2829
}
29-
3030
#endif

src/ServiceStack.OrmLite/Converters/TimeOnlyConverter.cs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,27 @@
22
using System.Globalization;
33

44
#if NET6_0
5-
namespace ServiceStack.OrmLite.Converters;
6-
7-
public class TimeOnlyConverter : TimeSpanAsIntConverter
5+
namespace ServiceStack.OrmLite.Converters
86
{
9-
public override string ToQuotedString(Type fieldType, object value)
7+
public class TimeOnlyConverter : TimeSpanAsIntConverter
108
{
11-
return ((TimeOnly)value).Ticks.ToString(CultureInfo.InvariantCulture);
12-
}
9+
public override string ToQuotedString(Type fieldType, object value)
10+
{
11+
return ((TimeOnly)value).Ticks.ToString(CultureInfo.InvariantCulture);
12+
}
1313

14-
public override object ToDbValue(Type fieldType, object value)
15-
{
16-
var timespan = (TimeOnly)value;
17-
return timespan.Ticks;
18-
}
14+
public override object ToDbValue(Type fieldType, object value)
15+
{
16+
var timespan = (TimeOnly)value;
17+
return timespan.Ticks;
18+
}
1919

20-
public override object FromDbValue(Type fieldType, object value)
21-
{
22-
var ticks = (long)this.ConvertNumber(typeof(long), value);
23-
var timeSpan = TimeSpan.FromTicks(ticks);
24-
return TimeOnly.FromTimeSpan(timeSpan);
20+
public override object FromDbValue(Type fieldType, object value)
21+
{
22+
var ticks = (long)this.ConvertNumber(typeof(long), value);
23+
var timeSpan = TimeSpan.FromTicks(ticks);
24+
return TimeOnly.FromTimeSpan(timeSpan);
25+
}
2526
}
2627
}
2728

tests/ServiceStack.OrmLite.Tests/Net6TypeTests.cs

Lines changed: 58 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -4,74 +4,75 @@
44
using NUnit.Framework;
55

66
#if NET6_0
7-
namespace ServiceStack.OrmLite.Tests;
8-
9-
public class Net6TypeTests : OrmLiteTestBase
7+
namespace ServiceStack.OrmLite.Tests
108
{
11-
private class DateOnlyObject
12-
{
13-
public DateOnly Test { get; set; }
14-
public DateOnly? TestNullable { get; set; }
15-
}
169

17-
private static DateOnlyObject InsertAndSelectDateOnly(IDbConnection db, DateOnly dateTime)
10+
public class Net6TypeTests : OrmLiteTestBase
1811
{
19-
db.DeleteAll<DateOnlyObject>();
20-
db.Insert(new DateOnlyObject { Test = dateTime, TestNullable = dateTime });
21-
var x = db.Select<DateOnlyObject>().First();
22-
return x;
23-
}
12+
private class DateOnlyObject
13+
{
14+
public DateOnly Test { get; set; }
15+
public DateOnly? TestNullable { get; set; }
16+
}
2417

25-
[Test]
26-
public void Can_insert_and_query_DateOnly()
27-
{
28-
// OrmLiteUtils.PrintSql();
29-
using var db = OpenDbConnection();
30-
db.DropAndCreateTable<DateOnlyObject>();
18+
private static DateOnlyObject InsertAndSelectDateOnly(IDbConnection db, DateOnly dateTime)
19+
{
20+
db.DeleteAll<DateOnlyObject>();
21+
db.Insert(new DateOnlyObject { Test = dateTime, TestNullable = dateTime });
22+
var x = db.Select<DateOnlyObject>().First();
23+
return x;
24+
}
3125

32-
DateOnly dateTime;
33-
DateOnlyObject x;
26+
[Test]
27+
public void Can_insert_and_query_DateOnly()
28+
{
29+
// OrmLiteUtils.PrintSql();
30+
using var db = OpenDbConnection();
31+
db.DropAndCreateTable<DateOnlyObject>();
3432

35-
dateTime = new DateOnly(2013, 1, 13);
36-
x = InsertAndSelectDateOnly(db, dateTime);
37-
Assert.That(x.Test, Is.EqualTo(dateTime));
38-
Assert.That(x.TestNullable!.Value, Is.EqualTo(x.Test));
39-
x = db.Select<DateOnlyObject>(d => d.Test == dateTime).FirstOrDefault();
40-
Assert.That(x, Is.Not.Null);
41-
}
33+
DateOnly dateTime;
34+
DateOnlyObject x;
4235

43-
private class TimeOnlyObject
44-
{
45-
public TimeOnly Test { get; set; }
46-
public TimeOnly? TestNullable { get; set; }
47-
}
36+
dateTime = new DateOnly(2013, 1, 13);
37+
x = InsertAndSelectDateOnly(db, dateTime);
38+
Assert.That(x.Test, Is.EqualTo(dateTime));
39+
Assert.That(x.TestNullable!.Value, Is.EqualTo(x.Test));
40+
x = db.Select<DateOnlyObject>(d => d.Test == dateTime).FirstOrDefault();
41+
Assert.That(x, Is.Not.Null);
42+
}
4843

49-
private static TimeOnlyObject InsertAndSelectTimeOnly(IDbConnection db, TimeOnly timeOnly)
50-
{
51-
db.DeleteAll<TimeOnlyObject>();
52-
db.Insert(new TimeOnlyObject { Test = timeOnly, TestNullable = timeOnly });
53-
var x = db.Select<TimeOnlyObject>().First();
54-
return x;
55-
}
44+
private class TimeOnlyObject
45+
{
46+
public TimeOnly Test { get; set; }
47+
public TimeOnly? TestNullable { get; set; }
48+
}
5649

57-
[Test]
58-
public void Can_insert_and_query_TimeOnly()
59-
{
60-
OrmLiteUtils.PrintSql();
61-
using var db = OpenDbConnection();
62-
db.DropAndCreateTable<TimeOnlyObject>();
50+
private static TimeOnlyObject InsertAndSelectTimeOnly(IDbConnection db, TimeOnly timeOnly)
51+
{
52+
db.DeleteAll<TimeOnlyObject>();
53+
db.Insert(new TimeOnlyObject { Test = timeOnly, TestNullable = timeOnly });
54+
var x = db.Select<TimeOnlyObject>().First();
55+
return x;
56+
}
6357

64-
TimeOnly timeOnly;
65-
TimeOnlyObject x;
58+
[Test]
59+
public void Can_insert_and_query_TimeOnly()
60+
{
61+
OrmLiteUtils.PrintSql();
62+
using var db = OpenDbConnection();
63+
db.DropAndCreateTable<TimeOnlyObject>();
6664

67-
timeOnly = new TimeOnly(13, 14, 15);
68-
x = InsertAndSelectTimeOnly(db, timeOnly);
69-
Assert.That(x.Test, Is.EqualTo(timeOnly));
70-
Assert.That(x.TestNullable!.Value, Is.EqualTo(x.Test));
71-
x = db.Select<TimeOnlyObject>(d => d.Test == timeOnly).FirstOrDefault();
72-
Assert.That(x, Is.Not.Null);
73-
}
65+
TimeOnly timeOnly;
66+
TimeOnlyObject x;
7467

75-
}
68+
timeOnly = new TimeOnly(13, 14, 15);
69+
x = InsertAndSelectTimeOnly(db, timeOnly);
70+
Assert.That(x.Test, Is.EqualTo(timeOnly));
71+
Assert.That(x.TestNullable!.Value, Is.EqualTo(x.Test));
72+
x = db.Select<TimeOnlyObject>(d => d.Test == timeOnly).FirstOrDefault();
73+
Assert.That(x, Is.Not.Null);
74+
}
7675

76+
}
77+
}
7778
#endif

0 commit comments

Comments
 (0)