Skip to content

Commit cca12c4

Browse files
committed
Upgraded to .NET 6
1 parent adc52fe commit cca12c4

19 files changed

+248
-257
lines changed

.github/workflows/dotnet-core.yml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: .NET Core
1+
name: .NET
22

33
on:
44
push:
@@ -8,16 +8,11 @@ on:
88

99
jobs:
1010
build:
11-
1211
runs-on: ubuntu-latest
13-
1412
steps:
15-
- uses: actions/checkout@v2
16-
- name: Setup .NET Core
17-
uses: actions/setup-dotnet@v1
13+
- uses: actions/checkout@v3
14+
- name: Setup dotnet
15+
uses: actions/setup-dotnet@v2
1816
with:
19-
dotnet-version: 3.1.302
20-
- name: Install dependencies
21-
run: dotnet restore
22-
- name: Build
23-
run: dotnet build --configuration Release --no-restore
17+
dotnet-version: 6.0.x
18+
- run: dotnet build --configuration Release

OpenExchangeRates.sln

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 16
4-
VisualStudioVersion = 16.0.30320.27
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.2.32505.173
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenExchangeRates", "OpenExchangeRates\OpenExchangeRates.csproj", "{10759FB5-7BB2-479D-B088-2314D01EBE9A}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenExchangeRates", "OpenExchangeRates\OpenExchangeRates.csproj", "{10759FB5-7BB2-479D-B088-2314D01EBE9A}"
77
EndProject
88
Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution

OpenExchangeRates.sln.DotSettings

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
2+
<s:Boolean x:Key="/Default/UserDictionary/Words/=prettyprint/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

OpenExchangeRates/ApiStatus.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
namespace OpenExchangeRates
1+
namespace OpenExchangeRates;
2+
3+
public enum ApiStatus
24
{
3-
public enum ApiStatus
4-
{
5-
Unknown,
6-
Active,
7-
AccessRestricted
8-
}
5+
Unknown,
6+
Active,
7+
AccessRestricted
98
}
Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
using System;
1+
namespace OpenExchangeRates;
22

3-
namespace OpenExchangeRates
3+
public sealed class ConversionMetadata
44
{
5-
public sealed class ConversionMetadata
6-
{
7-
public DateTimeOffset Timestamp { get; set; }
8-
9-
public decimal Rate { get; set; }
10-
}
5+
public DateTimeOffset Timestamp { get; set; }
6+
public decimal Rate { get; set; }
117
}
Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
namespace OpenExchangeRates
2-
{
3-
public sealed class ConvertRequest
4-
{
5-
public string Query { get; set; }
6-
7-
public decimal Amount { get; set; }
1+
namespace OpenExchangeRates;
82

9-
public string From { get; set; }
10-
11-
public string To { get; set; }
12-
}
3+
public sealed class ConvertRequest
4+
{
5+
public string Query { get; set; } = null!;
6+
public decimal Amount { get; set; }
7+
public string From { get; set; } = null!;
8+
public string To { get; set; } = null!;
139
}
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
using System.Text.Json.Serialization;
22

3-
namespace OpenExchangeRates
3+
namespace OpenExchangeRates;
4+
5+
public sealed class ConvertResponse
46
{
5-
public sealed class ConvertResponse
6-
{
7-
public ConvertRequest Request { get; set; }
7+
public ConvertRequest Request { get; set; } = null!;
88

9-
[JsonPropertyName("response")]
10-
public decimal Amount { get; set; }
9+
[JsonPropertyName("response")]
10+
public decimal Amount { get; set; }
1111

12-
[JsonPropertyName("meta")]
13-
public ConversionMetadata Metadata { get; set; }
14-
}
12+
[JsonPropertyName("meta")]
13+
public ConversionMetadata Metadata { get; set; } = null!;
1514
}
Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
1-
using System;
2-
using System.Text.Json;
1+
using System.Text.Json;
32
using System.Text.Json.Serialization;
43

5-
namespace OpenExchangeRates.Converters
4+
namespace OpenExchangeRates.Converters;
5+
6+
internal sealed class JsonValueConverterApiStatus : JsonConverter<ApiStatus>
67
{
7-
internal sealed class JsonValueConverterApiStatus : JsonConverter<ApiStatus>
8+
public override ApiStatus Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
89
{
9-
public override ApiStatus Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
10-
{
11-
var value = reader.GetString();
10+
var value = reader.GetString();
1211

13-
if (string.Equals(value, "active", StringComparison.OrdinalIgnoreCase))
14-
return ApiStatus.Active;
12+
if (string.Equals(value, "active", StringComparison.OrdinalIgnoreCase))
13+
return ApiStatus.Active;
1514

16-
if (string.Equals(value, "access_restricted", StringComparison.OrdinalIgnoreCase))
17-
return ApiStatus.AccessRestricted;
15+
if (string.Equals(value, "access_restricted", StringComparison.OrdinalIgnoreCase))
16+
return ApiStatus.AccessRestricted;
1817

19-
return ApiStatus.Unknown;
20-
}
18+
return ApiStatus.Unknown;
19+
}
2120

22-
public override void Write(Utf8JsonWriter writer, ApiStatus value, JsonSerializerOptions options)
23-
{
24-
throw new NotImplementedException();
25-
}
21+
public override void Write(Utf8JsonWriter writer, ApiStatus value, JsonSerializerOptions options)
22+
{
23+
throw new NotImplementedException();
2624
}
2725
}
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
using System;
2-
using System.Text.Json;
1+
using System.Text.Json;
32
using System.Text.Json.Serialization;
43

5-
namespace OpenExchangeRates.Converters
4+
namespace OpenExchangeRates.Converters;
5+
6+
internal sealed class JsonValueConverterDateTimeOffsetUnixSeconds : JsonConverter<DateTimeOffset>
67
{
7-
internal sealed class JsonValueConverterDateTimeOffsetUnixSeconds : JsonConverter<DateTimeOffset>
8+
public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
89
{
9-
public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
10-
{
11-
return DateTimeOffset.FromUnixTimeSeconds(reader.GetInt64());
12-
}
10+
return DateTimeOffset.FromUnixTimeSeconds(reader.GetInt64());
11+
}
1312

14-
public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options)
15-
{
16-
throw new NotImplementedException();
17-
}
13+
public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options)
14+
{
15+
throw new NotImplementedException();
1816
}
1917
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// ReSharper disable once CheckNamespace
2+
namespace System.Text;
3+
4+
internal static class StringBuilderExtensions
5+
{
6+
public static StringBuilder AppendNameValueBoolean(this StringBuilder sb, string name, bool? value)
7+
{
8+
ArgumentNullException.ThrowIfNull(sb);
9+
ArgumentNullException.ThrowIfNull(name);
10+
11+
return value == null ? sb : sb.Append($"&{name}={(value.Value ? "true" : "false")}");
12+
}
13+
}

0 commit comments

Comments
 (0)