-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding Einspeise BO and its enums (#459)
* Einspeise BO and its enums * 🚀 Add new enums and message for EEG vermarktungsform & fernsteuerbarkeit status. * 🛠️ Fix enum member value formatting Updated the enum member value to remove special characters for consistency. * 🚀 Add new enum Profilart with profile types Added a new enum Profilart in the protobuf file to define different profile types for energy consumption and generation. * remove BOMs * ⚡️ Add new subclass Einspeise to BusinessObject * ✨ Refactor enum names for clarity and consistency * 🚀 Update ProtoInclude index for a class * ⚡️ Update Einspeise to Einspeisung in codebase * removing EDIFACT-Qualifier
- Loading branch information
1 parent
f4d8fe6
commit 27673fd
Showing
6 changed files
with
188 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
using System.Text.Json.Serialization; | ||
|
||
using BO4E.ENUM; | ||
using BO4E.meta; | ||
|
||
using Newtonsoft.Json; | ||
|
||
using ProtoBuf; | ||
|
||
namespace BO4E.BO; | ||
|
||
/// <summary> | ||
/// Einspeisung BO | ||
/// </summary> | ||
[ProtoContract] | ||
[NonOfficial(NonOfficialCategory.MISSING)] | ||
public class Einspeisung : BusinessObject | ||
{ | ||
/// <summary> | ||
/// Für welche Marktlokation gelten diese Einspeisedaten | ||
/// </summary> | ||
[JsonProperty(PropertyName = "marktlokationsId", Required = Required.Default, Order = 10)] | ||
[JsonPropertyName("marktlokationsId")] | ||
[JsonPropertyOrder(10)] | ||
[NonOfficial(NonOfficialCategory.MISSING)] | ||
[ProtoMember(10)] | ||
[BoKey] | ||
public string? MarktlokationsId { get; set; } | ||
/// <summary> | ||
/// Empfänger der Vergütung zur Einspeisung | ||
/// </summary> | ||
[JsonProperty(PropertyName = "verguetungsempfaenger", Required = Required.Default, Order = 11)] | ||
[JsonPropertyName("verguetungsempfaenger")] | ||
[JsonPropertyOrder(11)] | ||
[NonOfficial(NonOfficialCategory.MISSING)] | ||
[ProtoMember(11)] | ||
public Geschaeftspartnerrolle? Verguetungsempfaenger { get; set; } | ||
|
||
/// <summary> | ||
/// Vermarktungsformen gemäß dem Erneuerbare-Energien-Gesetz (EEG). | ||
/// </summary> | ||
[JsonProperty(PropertyName = "eegVermarktungsform", Required = Required.Default, Order = 12)] | ||
[JsonPropertyName("eegVermarktungsform")] | ||
[JsonPropertyOrder(12)] | ||
[NonOfficial(NonOfficialCategory.MISSING)] | ||
[ProtoMember(12)] | ||
public EEGVermarktungsform? EEGVermarktungsform { get; set; } | ||
|
||
/// <summary>Land der Förderung, Details <see cref="ENUM.Landescode" /></summary> | ||
[JsonProperty(PropertyName = "landescode", Required = Required.Default, Order = 13)] | ||
[JsonPropertyName("landescode")] | ||
[ProtoMember(13)] | ||
[JsonPropertyOrder(13)] | ||
[NonOfficial(NonOfficialCategory.MISSING)] | ||
public Landescode? Landescode { get; set; } | ||
|
||
/// <summary> | ||
/// Status der Fernsteuerbarkeit einer Marktlokation | ||
/// </summary> | ||
[JsonProperty(PropertyName = "fernsteuerbarkeitStatus", Required = Required.Default, Order = 14)] | ||
[JsonPropertyName("fernsteuerbarkeitStatus")] | ||
[JsonPropertyOrder(14)] | ||
[NonOfficial(NonOfficialCategory.MISSING)] | ||
[ProtoMember(12)] | ||
public FernsteuerbarkeitStatus? FernsteuerbarkeitStatus { get; set; } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
using System.Runtime.Serialization; | ||
|
||
using ProtoBuf; | ||
|
||
namespace BO4E.ENUM | ||
{ | ||
/// <summary> | ||
/// Verschiedenen Vermarktungsformen gemäß dem Erneuerbare-Energien-Gesetz (EEG). | ||
/// </summary> | ||
[ProtoContract] | ||
public enum EEGVermarktungsform | ||
{ | ||
/// <summary>Ausfallvergütung für den Fall, dass andere Vermarktungsmethoden nicht verfügbar sind</summary> | ||
/// <remarks>Z90</remarks> | ||
[ProtoEnum(Name = nameof(EEGVermarktungsform) + "_" + nameof(AUSFALLVERGUETUNG))] | ||
[EnumMember(Value = "AUSFALLVERGUETUNG")] | ||
AUSFALLVERGUETUNG, | ||
|
||
/// <summary>Marktprämie für die geförderte Direktvermarktung</summary> | ||
/// <remarks>Z91</remarks> | ||
[ProtoEnum(Name = nameof(EEGVermarktungsform) + "_" + nameof(MARKTPRAEMIE))] | ||
[EnumMember(Value = "MARKTPRAEMIE")] | ||
MARKTPRAEMIE, | ||
|
||
/// <summary>Sonstige Vermarktungsformen ohne gesetzliche Vergütung</summary> | ||
/// <remarks>Z92</remarks> | ||
[ProtoEnum(Name = nameof(EEGVermarktungsform) + "_" + nameof(SONSTIGE))] | ||
[EnumMember(Value = "SONSTIGE")] | ||
SONSTIGE, | ||
|
||
/// <summary>Vergütung nach dem Kraft-Wärme-Kopplungsgesetz (KWKG)</summary> | ||
/// <remarks>Z94</remarks> | ||
[ProtoEnum(Name = nameof(EEGVermarktungsform) + "_" + nameof(KWKG_VERGUETUNG))] | ||
[EnumMember(Value = "KWKG_VERGUETUNG")] | ||
KWKG_VERGUETUNG | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
using System.Runtime.Serialization; | ||
|
||
using ProtoBuf; | ||
|
||
namespace BO4E.ENUM | ||
{ | ||
/// <summary> | ||
/// Status der Fernsteuerbarkeit einer Marktlokation gemäß den Vorgaben für die Direktvermarktung. | ||
/// </summary> | ||
[ProtoContract] | ||
public enum FernsteuerbarkeitStatus | ||
{ | ||
/// <summary> | ||
/// Marktlokation ist technisch nicht fernsteuerbar. | ||
/// Der NB bestätigt mit der Anmeldung einer erzeugenden Marktlokation zur Direktvermarktung, dass die Anlage nicht mit einer Fernsteuerung ausgestattet ist und nicht fernsteuerbar ist. Die Voraussetzung zur Zahlung der Managementprämie für fernsteuerbare Anlagen ist nicht gegeben. | ||
/// </summary> | ||
/// <remarks>Z96</remarks> | ||
[ProtoEnum(Name = nameof(FernsteuerbarkeitStatus) + "_" + nameof(NICHT_FERNSTEUERBAR))] | ||
[EnumMember(Value = "NICHT_FERNSTEUERBAR")] | ||
NICHT_FERNSTEUERBAR, | ||
|
||
/// <summary> | ||
/// Marktlokation ist technisch fernsteuerbar. | ||
/// Der NB bestätigt mit der Anmeldung einer erzeugenden Marktlokation zur Direktvermarktung, dass die Marktlokation mit einer Fernsteuerung ausgestattet, aber dem NB keine Information darüber vorliegt, dass der LF die Marktlokation fernsteuern kann. Die Voraussetzung zur Zahlung der Managementprämie für fernsteuerbare Marktlokation ist nicht gegeben. | ||
/// </summary> | ||
/// <remarks>Z97</remarks> | ||
[ProtoEnum(Name = nameof(FernsteuerbarkeitStatus) + "_" + nameof(TECHNISCH_FERNSTEUERBAR))] | ||
[EnumMember(Value = "TECHNISCH_FERNSTEUERBAR")] | ||
TECHNISCH_FERNSTEUERBAR, | ||
|
||
/// <summary> | ||
/// Marktlokation ist durch den Lieferanten fernsteuerbar. | ||
/// Der NB bestätigt mit der Anmeldung einer Marktlokation zur Direktvermarktung, dass die Marktlokation mit einer Fernsteuerung ausgestattet ist und der LF diese auch fernsteuern kann. Die Voraussetzung zur Zahlung der Managementprämie für fernsteuerbare Marktlokationen ist gegeben. | ||
/// </summary> | ||
/// <remarks>Z98</remarks> | ||
[ProtoEnum(Name = nameof(FernsteuerbarkeitStatus) + "_" + nameof(LIEFERANT_FERNSTEUERBAR))] | ||
[EnumMember(Value = "LIEFERANT_FERNSTEUERBAR")] | ||
LIEFERANT_FERNSTEUERBAR | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters