create and implement IHasEnvelopeQuery and IHasReceiverQuery

This commit is contained in:
Developer 02 2025-08-26 19:43:55 +02:00
parent dee6608390
commit b005c194d3
3 changed files with 47 additions and 5 deletions

View File

@ -6,14 +6,14 @@ namespace EnvelopeGenerator.Application.Model;
/// <summary>
///
/// </summary>
public record EnvelopeReceiverQueryBase : EnvelopeReceiverQueryBase<EnvelopeQueryBase, ReceiverQueryBase>;
public record EnvelopeReceiverQueryBase : EnvelopeReceiverQueryBase<EnvelopeQueryBase, ReceiverQueryBase>, IHasEnvelopeQuery, IHasReceiverQuery;
/// <summary>
///
/// </summary>
/// <typeparam name="TEnvelopeQuery"></typeparam>
/// <typeparam name="TReceiverQuery"></typeparam>
public record EnvelopeReceiverQueryBase<TEnvelopeQuery, TReceiverQuery>
public record EnvelopeReceiverQueryBase<TEnvelopeQuery, TReceiverQuery> : IHasEnvelopeQuery<TEnvelopeQuery>, IHasReceiverQuery<TReceiverQuery>
where TEnvelopeQuery : EnvelopeQueryBase, new()
where TReceiverQuery : ReceiverQueryBase, new()
{
@ -25,7 +25,7 @@ public record EnvelopeReceiverQueryBase<TEnvelopeQuery, TReceiverQuery>
public virtual string? Key
{
get => _key;
init
set
{
if (value is null)
{
@ -52,11 +52,11 @@ public record EnvelopeReceiverQueryBase<TEnvelopeQuery, TReceiverQuery>
/// <summary>
/// Repräsentiert eine Abfrage für Umschläge.
/// </summary>
public virtual TEnvelopeQuery Envelope { get; init; } = new();
public virtual TEnvelopeQuery Envelope { get; set; } = new();
/// <summary>
/// Stellt eine Abfrage dar, um die Details eines Empfängers zu lesen.
/// um spezifische Informationen über einen Empfänger abzurufen.
/// </summary>
public virtual TReceiverQuery Receiver { get; init; } = new();
public virtual TReceiverQuery Receiver { get; set; } = new();
}

View File

@ -0,0 +1,21 @@
namespace EnvelopeGenerator.Application.Model;
/// <summary>
///
/// </summary>
public interface IHasEnvelopeQuery<TEnvelopeQuery>
where TEnvelopeQuery : EnvelopeQueryBase
{
/// <summary>
///
/// </summary>
public TEnvelopeQuery Envelope { get; set; }
}
/// <summary>
///
/// </summary>
public interface IHasEnvelopeQuery
: IHasEnvelopeQuery<EnvelopeQueryBase>
{
}

View File

@ -0,0 +1,21 @@
namespace EnvelopeGenerator.Application.Model;
/// <summary>
///
/// </summary>
public interface IHasReceiverQuery<TReceiverQuery>
where TReceiverQuery : ReceiverQueryBase
{
/// <summary>
///
/// </summary>
public TReceiverQuery Receiver { get; set; }
}
/// <summary>
///
/// </summary>
public interface IHasReceiverQuery
: IHasReceiverQuery<ReceiverQueryBase>
{
}