116 lines
3.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
using gehGassi.Dto.Common;
namespace gehGassi.Dto.Walks
{
/// <summary>
/// Model für die Abfrage von Walks
/// </summary>
public class WalksQueryDto : QueryDto
{
/// <summary>
/// Id des DogOwners
/// </summary>
public string DogOwnerId { get; set; }
/// <summary>
/// Id des DogWalkers
/// </summary>
public string DogWalkerId { get; set; }
/// <summary>
/// Datum ab welchem gesucht werden soll
/// </summary>
public DateTimeOffset? Date { get; set; }
/// <summary>
/// Optional: Status | Alle wenn NULL
/// </summary>
public WalkStatusDto? Status { get; set; }
/// <summary>
/// Optional: ServiceTyp (Walk|Sitting|DayCare) | Alle wenn NULL
/// </summary>
public WalkServiceTypeDto? ServiceType { get; set; }
/// <summary>
/// Optional: Zahlungsstatus | Alle wenn NULL
/// </summary>
public PaymentStatusDto? PaymentStatus { get; set; }
/// <summary>
/// Nach hundeID oder name filtern
/// </summary>
public string DogFilter { get; set; }
/// <summary>
/// Filter nach Walker
/// </summary>
public string WalkerFilter { get; set; }
/// <summary>
/// Filter nach Walker
/// </summary>
public string OwnerFilter { get; set; }
/// <summary>
/// Sollen stornierte Walks ignoriert werden?
/// </summary>
public bool IgnoreCancelled { get; set; }
/// <summary>
/// Wenn diese Option aktiviert ist, werden nur angenommene oder gestartete Walks selektiert
/// </summary>
public bool ForNextWalk { get; set; }
/// <summary>
/// Sollen Anfragen, die nich nicht angenommen oder abgelehnt wurden, ignoriert werden? Status angefragt
/// </summary>
public bool IgnoreRequested { get; set; }
/// <summary>
/// Sollen Walks die abgelehnt wurden ignoriert werden?
/// </summary>
public bool IgnoreDeclined { get; set; }
}
/// <summary>
/// Model für die Abfrage der nächsten Walks für einen App-User
/// </summary>
public class WalksNextQueryDto
{
/// <summary>
/// Id des App-Users
/// </summary>
[JsonPropertyName("appUserId")]
public string AppUserId { get; set; }
/// <summary>
/// Datum ab welchem gesucht werden soll
/// </summary>
[JsonPropertyName("date")]
public DateTimeOffset Date { get; set; }
/// <summary>
/// Gewünschte Sprache
/// </summary>
[JsonPropertyName("language")]
public string Language { get; set; }
/// <summary>
/// Max. Datensätze. Wenn -1, dann ignorieren
/// </summary>
[JsonPropertyName("take")]
public int Take { get; set; }
/// <summary>
/// Datensätze auslassen, Wenn -1, dann ignorieren
/// </summary>
[JsonPropertyName("skip")]
public int Skip { get; set; }
}
}