423 lines
11 KiB
C#
423 lines
11 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel.DataAnnotations;
|
||
using System.Drawing;
|
||
using System.Text;
|
||
using gehGassi.Dto.Common;
|
||
using gehGassi.Dto.Dogs;
|
||
|
||
namespace gehGassi.Dto.Walks
|
||
{
|
||
/// <summary>
|
||
/// Dto für eine öffentliche Anfrage
|
||
/// </summary>
|
||
public class PublicWalkRequestDto : SyncEntityDto
|
||
{
|
||
/// <summary>
|
||
/// Id des App-Users / Hundebesitzers der die Anfrage erstellt hat
|
||
/// Ist eine AppUserId
|
||
/// </summary>
|
||
[Required]
|
||
[MaxLength(128)]
|
||
public string DogOwnerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abhol-Adresse
|
||
/// </summary>
|
||
public AddressDto PickupAddress { get; set; }
|
||
|
||
/// <summary>
|
||
/// Breitengrad der Adresse
|
||
/// </summary>
|
||
public double Lat { get; set; }
|
||
|
||
/// <summary>
|
||
/// Längengrad der Adresse
|
||
/// </summary>
|
||
public double Lng { get; set; }
|
||
|
||
/// <summary>
|
||
/// Welche Art der Anfrage?
|
||
/// </summary>
|
||
[Required]
|
||
public PublicWalkRequestTypeDto RequestType { get; set; }
|
||
|
||
/// <summary>
|
||
/// Startdatum und Uhrzeit
|
||
/// </summary>
|
||
[Required]
|
||
public DateTimeOffset StartDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Enddatum und Urzeit
|
||
/// </summary>
|
||
[Required]
|
||
public DateTimeOffset EndDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Id des Hundes
|
||
/// </summary>
|
||
[Required]
|
||
[MaxLength(128)]
|
||
public string DogId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Jsonliste mit Id´s der Hunde die ausgewählt wurden
|
||
/// </summary>
|
||
public string DogsJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// Anzahl der Hunde
|
||
/// </summary>
|
||
[Required]
|
||
public int DogCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// Exklusiv buchen?
|
||
/// </summary>
|
||
[Required]
|
||
public bool Exclusive { get; set; }
|
||
|
||
/// <summary>
|
||
/// Preis den der Besitzer bereit ist zu zahlen
|
||
/// </summary>
|
||
[Required]
|
||
public decimal Price { get; set; }
|
||
|
||
/// <summary>
|
||
/// Zusatzinfo für den Auftrag
|
||
/// </summary>
|
||
[MaxLength(500)]
|
||
public string Info { get; set; }
|
||
|
||
/// <summary>
|
||
/// Offen als Ausschreibung bis... Ablaufdatum
|
||
/// </summary>
|
||
public DateTimeOffset ExpirationDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Id des Walkers der den Auftrag erhalten hat
|
||
/// Ist eine AppUserId
|
||
/// </summary>
|
||
[MaxLength(128)]
|
||
public string DogWalkerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Zuordnung zum angenommenen Angebot
|
||
/// </summary>
|
||
public string PublicWalkResponseId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Anzahl der Antworten
|
||
/// </summary>
|
||
public int ResponseCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// Aktueller Status der öffentlichern Anfrage
|
||
/// </summary>
|
||
public PublicWalkRequestStatusDto Status { get; set; }
|
||
|
||
/// <summary>
|
||
/// Datum wann ein Angebot angenommen wurde
|
||
/// </summary>
|
||
public DateTimeOffset? PlacedDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Wann wurde die Anfrage erstellt?
|
||
/// </summary>
|
||
public DateTimeOffset Created { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Dto für das Anlegen einer öffentlichen Anfrage
|
||
/// </summary>
|
||
public class PublicWalkRequestCreateDto : SyncEntityDto
|
||
{
|
||
/// <summary>
|
||
/// Id des App-Users / Hundebesitzers der die Anfrage erstellt hat
|
||
/// Ist eine AppUserId
|
||
/// </summary>
|
||
[Required]
|
||
[MaxLength(128)]
|
||
public string DogOwnerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abhol-Adresse
|
||
/// </summary>
|
||
[Required]
|
||
public AddressDto PickupAddress { get; set; }
|
||
|
||
/// <summary>
|
||
/// Breitengrad der Adresse
|
||
/// </summary>
|
||
public double Lat { get; set; }
|
||
|
||
/// <summary>
|
||
/// Längengrad der Adresse
|
||
/// </summary>
|
||
public double Lng { get; set; }
|
||
|
||
/// <summary>
|
||
/// Welche Art der Anfrage?
|
||
/// </summary>
|
||
[Required]
|
||
public PublicWalkRequestTypeDto RequestType { get; set; }
|
||
|
||
/// <summary>
|
||
/// Startdatum und Uhrzeit
|
||
/// </summary>
|
||
[Required]
|
||
public DateTimeOffset StartDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Enddatum und Urzeit
|
||
/// </summary>
|
||
[Required]
|
||
public DateTimeOffset EndDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Id des Hundes
|
||
/// </summary>
|
||
[Required]
|
||
[MaxLength(128)]
|
||
public string DogId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Jsonliste mit Id´s der Hunde die ausgewählt wurden
|
||
/// </summary>
|
||
public string DogsJson { get; set; }
|
||
|
||
/// <summary>
|
||
/// Anzahl der Hunde
|
||
/// </summary>
|
||
[Required]
|
||
public int DogCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// Exklusiv buchen?
|
||
/// </summary>
|
||
[Required]
|
||
public bool Exclusive { get; set; }
|
||
|
||
/// <summary>
|
||
/// Preis den der Besitzer bereit ist zu zahlen
|
||
/// </summary>
|
||
[Required]
|
||
public decimal Price { get; set; }
|
||
|
||
/// <summary>
|
||
/// Zusatzinfo für den Auftrag
|
||
/// </summary>
|
||
[MaxLength(500)]
|
||
public string Info { get; set; }
|
||
|
||
/// <summary>
|
||
/// Offen als Ausschreibung bis... Ablaufdatum
|
||
/// </summary>
|
||
public DateTimeOffset ExpirationDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Wann wurde die Anfrage erstellt?
|
||
/// </summary>
|
||
public DateTimeOffset Created { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Dto für öffentliche Anfragen mit Namen aufgelöst
|
||
/// </summary>
|
||
public class PublicWalkRequestWithNamesDto : SyncEntityDto
|
||
{
|
||
/// <summary>
|
||
/// Id des App-Users / Hundebesitzers der die Anfrage erstellt hat
|
||
/// Ist eine AppUserId
|
||
/// </summary>
|
||
public string DogOwnerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Name des Hundebesitzers
|
||
/// </summary>
|
||
public string DogOwnerName { get; set; }
|
||
|
||
/// <summary>
|
||
/// Foto des Hundebesitzers
|
||
/// </summary>
|
||
public string DogOwnerPhoto { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abholadresse - Adresszeile 1
|
||
/// </summary>
|
||
public string PickupAddress_AddressLine1 { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abholadresse - Adresszeile 2
|
||
/// </summary>
|
||
public string PickupAddress_AddressLine2 { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abholadresse - Stadt / Ort
|
||
/// </summary>
|
||
public string PickupAddress_City { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abholadresse - PLZ
|
||
/// </summary>
|
||
public string PickupAddress_Zip { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abholadresse - Bundesland / Staat
|
||
/// </summary>
|
||
public string PickupAddress_State { get; set; }
|
||
|
||
/// <summary>
|
||
/// Abholadresse - ISO2 Ländercode
|
||
/// </summary>
|
||
public string PickupAddress_CountryCode { get; set; }
|
||
|
||
/// <summary>
|
||
/// Breitengrad der Adresse
|
||
/// </summary>
|
||
public double Lat { get; set; }
|
||
|
||
/// <summary>
|
||
/// Längengrad der Adresse
|
||
/// </summary>
|
||
public double Lng { get; set; }
|
||
|
||
/// <summary>
|
||
/// Welche Art der Anfrage?
|
||
/// </summary>
|
||
public PublicWalkRequestTypeDto RequestType { get; set; }
|
||
|
||
/// <summary>
|
||
/// Startdatum und Uhrzeit
|
||
/// </summary>
|
||
public DateTimeOffset StartDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Enddatum und Urzeit
|
||
/// </summary>
|
||
public DateTimeOffset EndDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Id des Hundes
|
||
/// </summary>
|
||
public string DogId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Name des Hundes
|
||
/// </summary>
|
||
public string DogName { get; set; }
|
||
|
||
/// <summary>
|
||
/// Foto des Hundes
|
||
/// </summary>
|
||
public string DogPhoto { get; set; }
|
||
|
||
/// <summary>
|
||
/// Liste der Hunde
|
||
/// </summary>
|
||
public List<DogMinInfoDto> Dogs { get; set; }
|
||
|
||
/// <summary>
|
||
/// Anzahl der Hunde
|
||
/// </summary>
|
||
public int DogCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// Exklusiv buchen?
|
||
/// </summary>
|
||
public bool Exclusive { get; set; }
|
||
|
||
/// <summary>
|
||
/// Preis den der Besitzer bereit ist zu zahlen
|
||
/// </summary>
|
||
public decimal Price { get; set; }
|
||
|
||
/// <summary>
|
||
/// Zusatzinfo für den Auftrag
|
||
/// </summary>
|
||
public string Info { get; set; }
|
||
|
||
/// <summary>
|
||
/// Offen als Ausschreibung bis... Ablaufdatum
|
||
/// </summary>
|
||
public DateTimeOffset ExpirationDate { get; set; }
|
||
|
||
/// <summary>
|
||
/// Id des Walkers der den Auftrag erhalten hat
|
||
/// Ist eine AppUserId
|
||
/// </summary>
|
||
public string DogWalkerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Name des Dogwalkers wenn selektiert
|
||
/// </summary>
|
||
public string DogWalkerName { get; set; }
|
||
|
||
/// <summary>
|
||
/// Foto des Dogwalkers wenn gesetzt
|
||
/// </summary>
|
||
public string DogWalkerPhoto { get; set; }
|
||
|
||
/// <summary>
|
||
/// Zuordnung zum angenommenen Angebot
|
||
/// </summary>
|
||
public string PublicWalkResponseId { get; set; }
|
||
|
||
/// <summary>
|
||
/// Anzahl der Antworten
|
||
/// </summary>
|
||
public int ResponseCount { get; set; }
|
||
|
||
/// <summary>
|
||
/// Aktueller Status der öffentlichern Anfrage
|
||
/// </summary>
|
||
public PublicWalkRequestStatusDto Status { get; set; }
|
||
|
||
/// <summary>
|
||
/// Datum wann ein Angebot angenommen wurde
|
||
/// </summary>
|
||
public DateTimeOffset? PlacedDate { get; set; }
|
||
|
||
#region Erweiterung Blockier- und Sperrinfo
|
||
|
||
/// <summary>
|
||
/// Hundebesitzer ist blockiert
|
||
/// </summary>
|
||
public bool Blocked { get; set; }
|
||
|
||
/// <summary>
|
||
/// Hundebesitzer ist gesperrt
|
||
/// </summary>
|
||
public bool Locked { get; set; }
|
||
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// Wann wurde die Anfrage erstellt?
|
||
/// </summary>
|
||
public DateTimeOffset Created { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Dto für öffentliche Anfragen mit Namen aufgelöst und dem Antwort-Status für einen DogWalker
|
||
/// </summary>
|
||
public class PublicWalkRequestWithNamesAndResponseStatusDto : PublicWalkRequestWithNamesDto
|
||
{
|
||
/// <summary>
|
||
/// Antwort-Status für einen Dogwalker wenn es schon eine Antwort gibt. Null sonst
|
||
/// </summary>
|
||
public PublicWalkResponseStatusDto? ResponseStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// Wurde der Hundebesitzer vom Walker blockiert?
|
||
/// </summary>
|
||
public bool DogOwnerBlocked { get; set; }
|
||
|
||
/// <summary>
|
||
/// Ist der Hundebesitzer gesperrt?
|
||
/// </summary>
|
||
public bool DogOwnerLocked { get; set; }
|
||
}
|
||
}
|