diff --git a/BO4E/BO/Zaehlzeitdefinition.cs b/BO4E/BO/Zaehlzeitdefinition.cs
index e5b56f1d..ed90423c 100644
--- a/BO4E/BO/Zaehlzeitdefinition.cs
+++ b/BO4E/BO/Zaehlzeitdefinition.cs
@@ -1,16 +1,11 @@
+using System;
+using System.Runtime.ConstrainedExecution;
+using System.Text.Json.Serialization;
using BO4E.COM;
using BO4E.ENUM;
using BO4E.meta;
-
using Newtonsoft.Json;
-
using ProtoBuf;
-
-using System;
-using System.Reflection.Metadata.Ecma335;
-using System.Runtime.ConstrainedExecution;
-using System.Text.Json.Serialization;
-
using Verwendungszweck = BO4E.COM.Verwendungszweck;
namespace BO4E.BO
@@ -18,7 +13,7 @@ namespace BO4E.BO
///
/// Der NB bzw. LF nutzt Zählzeitdefinitionen für die Tarifierung von Werten.
/// Zaehlzeitdefinitionen werden in der Marktkommunikation mit Prüfidentifikator 25001 (UTILTS) übermittelt
- /// Eine Zählzeitdefinition umfasst dabei eine Liste von möglichen Zählzeiten,
+ /// Eine Zählzeitdefinition umfasst dabei eine Liste von möglichen Zählzeiten,
/// den dazugehörigen Registern und der tatsächlich ausgerollten Zählzeit (wenn diese elektronisch übermittelt wird)
///
[ProtoContract]
@@ -36,6 +31,7 @@ private DateTime _Beginndatum
get => Beginndatum?.UtcDateTime ?? DateTime.MinValue;
set => Beginndatum = DateTime.SpecifyKind(value, DateTimeKind.Utc);
}
+
///
/// Der inklusive Zeitpunkt ab dem die Zaehlzeitdefinitionen ausgerollt sind
///
@@ -55,6 +51,7 @@ private DateTime _Endedatum
get => Endedatum?.UtcDateTime ?? DateTime.MinValue;
set => Endedatum = DateTime.SpecifyKind(value, DateTimeKind.Utc);
}
+
///
/// Der exklusive Zeitpunkt bis zu dem die Zaehlzeitdefinitionen ausgerollt sind
///
@@ -74,6 +71,7 @@ private DateTime _Version
get => Version.UtcDateTime;
set => Version = DateTime.SpecifyKind(value, DateTimeKind.Utc);
}
+
///
/// Version der Zählzeitdefinition als Datum
///
@@ -115,12 +113,14 @@ private DateTime _Version
///
/// Liste der ausgerollten Zählzeiten
///
- [JsonProperty(Required = Required.Always, Order = 12, PropertyName = "ausgerollteZaehlzeiten")]
+ [JsonProperty(
+ Required = Required.Always,
+ Order = 12,
+ PropertyName = "ausgerollteZaehlzeiten"
+ )]
[JsonPropertyName("ausgerollteZaehlzeiten")]
[ProtoMember(12)]
[JsonPropertyOrder(12)]
public System.Collections.Generic.List AusgerollteZaehlzeiten { get; set; }
-
-
}
}
diff --git a/BO4E/BO4E.csproj b/BO4E/BO4E.csproj
index c27abc6f..8f013cda 100644
--- a/BO4E/BO4E.csproj
+++ b/BO4E/BO4E.csproj
@@ -1,6 +1,6 @@
- net6.0
+ netstandard2.0
BO4E
true
Hochfrequenz.BO4Enet
@@ -26,7 +26,7 @@
true
Embedded
True
- 9
+ latest
BO4Enet.xml
annotations
@@ -77,11 +77,16 @@
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/BO4E/meta/LenientConverters/LenientGeraetemerkmalGasConverter.cs b/BO4E/meta/LenientConverters/LenientGeraetemerkmalGasConverter.cs
index 7f0779b2..90aaeeb3 100644
--- a/BO4E/meta/LenientConverters/LenientGeraetemerkmalGasConverter.cs
+++ b/BO4E/meta/LenientConverters/LenientGeraetemerkmalGasConverter.cs
@@ -1,9 +1,8 @@
+using System;
using BO4E.ENUM;
-
+using EnumsNET;
using Newtonsoft.Json;
-using System;
-
namespace BO4E.meta.LenientConverters
{
///
@@ -18,12 +17,17 @@ public class LenientGeraetemerkmalGasConverter : JsonConverter
///
public override bool CanConvert(Type objectType)
{
- return objectType == typeof(BO4E.ENUM.Geraetemerkmal) || objectType == typeof(BO4E.ENUM.Geraetemerkmal?);
+ return objectType == typeof(BO4E.ENUM.Geraetemerkmal)
+ || objectType == typeof(BO4E.ENUM.Geraetemerkmal?);
}
///
- public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
- JsonSerializer serializer)
+ public override object ReadJson(
+ JsonReader reader,
+ Type objectType,
+ object existingValue,
+ JsonSerializer serializer
+ )
{
string rawValue;
switch (reader.Value)
@@ -40,7 +44,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
try
{
- return Enum.Parse(rawValue);
+ return Enums.Parse(rawValue);
}
catch (ArgumentException) when (rawValue.StartsWith("G"))
{
@@ -48,7 +52,7 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
{
return Geraetemerkmal.GAS_G2P5;
}
- return Enum.Parse("GAS_" + rawValue);
+ return Enums.Parse("GAS_" + rawValue);
}
}
diff --git a/BO4E/meta/LenientConverters/LenientSystemTextGeraetemerkmalGasConverter.cs b/BO4E/meta/LenientConverters/LenientSystemTextGeraetemerkmalGasConverter.cs
index e875c57b..886c7937 100644
--- a/BO4E/meta/LenientConverters/LenientSystemTextGeraetemerkmalGasConverter.cs
+++ b/BO4E/meta/LenientConverters/LenientSystemTextGeraetemerkmalGasConverter.cs
@@ -1,7 +1,7 @@
-using BO4E.ENUM;
-
using System;
using System.Text.Json;
+using BO4E.ENUM;
+using EnumsNET;
using System.Text.RegularExpressions;
namespace BO4E.meta.LenientConverters
@@ -10,12 +10,17 @@ namespace BO4E.meta.LenientConverters
/// The lenient ZaehlergroesseGasConverter allows for transforming strings that do not contain the prefix "GAS_" into valid
///
/// The main symptom for its usage is "Error converting value "G4" to type Geraetemerkmal"
- public class LenientSystemTextGeraetemerkmalGasConverter : System.Text.Json.Serialization.JsonConverter
+ public class LenientSystemTextGeraetemerkmalGasConverter
+ : System.Text.Json.Serialization.JsonConverter
{
///
///
///
- public override Geraetemerkmal Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ public override Geraetemerkmal Read(
+ ref Utf8JsonReader reader,
+ Type typeToConvert,
+ JsonSerializerOptions options
+ )
{
if (reader.TokenType == JsonTokenType.Number)
{
@@ -24,7 +29,7 @@ public override Geraetemerkmal Read(ref Utf8JsonReader reader, Type typeToConver
var rawString = reader.GetString();
try
{
- return Enum.Parse(rawString);
+ return Enums.Parse(rawString);
}
catch (ArgumentException) when (rawString.StartsWith("G"))
{
@@ -32,7 +37,7 @@ public override Geraetemerkmal Read(ref Utf8JsonReader reader, Type typeToConver
{
return Geraetemerkmal.GAS_G2P5;
}
- return Enum.Parse("GAS_" + rawString);
+ return Enums.Parse("GAS_" + rawString);
}
}
@@ -44,7 +49,11 @@ public override Geraetemerkmal Read(ref Utf8JsonReader reader, Type typeToConver
///
///
///
- public override void Write(Utf8JsonWriter writer, Geraetemerkmal value, JsonSerializerOptions options)
+ public override void Write(
+ Utf8JsonWriter writer,
+ Geraetemerkmal value,
+ JsonSerializerOptions options
+ )
{
var stringValue = value.ToString();
var match = GasPrefixRegex.Match(stringValue);
@@ -62,12 +71,17 @@ public override void Write(Utf8JsonWriter writer, Geraetemerkmal value, JsonSeri
/// The lenient ZaehlergroesseGasConverter allows for transforming strings that do not contain the prefix "GAS_" into valid nullable
///
/// The main symptom for its usage is "Error converting value "G4" to type Geraetemerkmal"
- public class LenientSystemTextNullableGeraetemerkmalGasConverter : System.Text.Json.Serialization.JsonConverter
+ public class LenientSystemTextNullableGeraetemerkmalGasConverter
+ : System.Text.Json.Serialization.JsonConverter
{
///
///
///
- public override Geraetemerkmal? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ public override Geraetemerkmal? Read(
+ ref Utf8JsonReader reader,
+ Type typeToConvert,
+ JsonSerializerOptions options
+ )
{
if (reader.TokenType == JsonTokenType.Number)
{
@@ -80,7 +94,7 @@ public class LenientSystemTextNullableGeraetemerkmalGasConverter : System.Text.J
}
try
{
- return Enum.Parse(rawString);
+ return Enums.Parse(rawString);
}
catch (ArgumentException) when (rawString.StartsWith("G"))
{
@@ -88,7 +102,7 @@ public class LenientSystemTextNullableGeraetemerkmalGasConverter : System.Text.J
{
return Geraetemerkmal.GAS_G2P5;
}
- return Enum.Parse("GAS_" + rawString);
+ return Enums.Parse("GAS_" + rawString);
}
}
@@ -100,7 +114,11 @@ public class LenientSystemTextNullableGeraetemerkmalGasConverter : System.Text.J
///
///
///
- public override void Write(Utf8JsonWriter writer, Geraetemerkmal? value, JsonSerializerOptions options)
+ public override void Write(
+ Utf8JsonWriter writer,
+ Geraetemerkmal? value,
+ JsonSerializerOptions options
+ )
{
if (value.HasValue)
{
diff --git a/BO4E/meta/NonOfficialCategory.cs b/BO4E/meta/NonOfficialCategory.cs
index 1817d05b..b4874a72 100644
--- a/BO4E/meta/NonOfficialCategory.cs
+++ b/BO4E/meta/NonOfficialCategory.cs
@@ -31,11 +31,13 @@ public enum NonOfficialCategory
[EnumMember(Value = "REGULATORY_REQUIREMENTS")]
REGULATORY_REQUIREMENTS,
+#pragma warning disable CS0419 // Zweideutige Referenz im cref-Attribut
///
- /// an information or field is no longer necessary or outdated (please use
+ /// an information or field is no longer necessary or outdated (please use
/// too). Hochfrequenz favors removal of this field from the official BO4E standard.
///
[Obsolete("Hochfrequenz favours the removal of this field/property from BO4E.")]
+#pragma warning restore CS0419 // Zweideutige Referenz im cref-Attribut
[EnumMember(Value = "PROPOSED_DELETION")]
PROPOSED_DELETION,
@@ -46,4 +48,4 @@ public enum NonOfficialCategory
[EnumMember(Value = "CUSTOMER_REQUIREMENTS")]
CUSTOMER_REQUIREMENTS,
}
-}
\ No newline at end of file
+}
diff --git a/BO4E/protobuf-files/bo4e.proto b/BO4E/protobuf-files/bo4e.proto
index f1d74c34..f3a0f239 100644
--- a/BO4E/protobuf-files/bo4e.proto
+++ b/BO4E/protobuf-files/bo4e.proto
@@ -1089,6 +1089,7 @@ message Messprodukt {
Zaehlzeitregister Zaehlzeiten = 1021;
bool ZweiteMessung = 1022;
bool WerteuebermittlungAnNB = 1023;
+ EMobilitaetsart EMobilitaetsart = 1024;
}
enum MesstechnischeEinordnung {
option (.protobuf_net.enumopt).namespace = "BO4E.ENUM";
@@ -2020,6 +2021,7 @@ message Zaehlwerk {
int32 AnzahlAblesungen = 1020;
Zaehlzeitregister Zaehlzeiten = 1021;
string Konfiguration = 1022;
+ EMobilitaetsart EMobilitaetsart = 1023;
}
message Zaehlzeitregister {
option (.protobuf_net.msgopt).namespace = "BO4E.COM";
diff --git a/TestBO4E.Extensions/TestBO4E.Extensions.csproj b/TestBO4E.Extensions/TestBO4E.Extensions.csproj
index 0a7b67e1..5fc063be 100644
--- a/TestBO4E.Extensions/TestBO4E.Extensions.csproj
+++ b/TestBO4E.Extensions/TestBO4E.Extensions.csproj
@@ -12,11 +12,15 @@
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
diff --git a/TestBO4E.Reporting/TestBO4E.Reporting.csproj b/TestBO4E.Reporting/TestBO4E.Reporting.csproj
index b2e6ce6e..92cc932d 100644
--- a/TestBO4E.Reporting/TestBO4E.Reporting.csproj
+++ b/TestBO4E.Reporting/TestBO4E.Reporting.csproj
@@ -8,11 +8,15 @@
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
diff --git a/json-schema-files/BO4E.BO.Angebot.json b/json-schema-files/BO4E.BO.Angebot.json
index 0384d8a9..8bf34b49 100644
--- a/json-schema-files/BO4E.BO.Angebot.json
+++ b/json-schema-files/BO4E.BO.Angebot.json
@@ -3037,6 +3037,18 @@
"boolean",
"null"
]
+ },
+ "emobilitaetsart": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ null,
+ "WALLBOX",
+ "E_MOBILITAETSLADESAEULE",
+ "LADEPARK"
+ ]
}
}
},
@@ -4443,6 +4455,18 @@
"string",
"null"
]
+ },
+ "emobilitaetsart": {
+ "type": [
+ "string",
+ "null"
+ ],
+ "enum": [
+ null,
+ "WALLBOX",
+ "E_MOBILITAETSLADESAEULE",
+ "LADEPARK"
+ ]
}
}
},