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