339 lines
7.7 KiB
C#
339 lines
7.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Text;
|
|
using gehGassi.Dto.Common;
|
|
|
|
namespace gehGassi.Dto.Dogs
|
|
{
|
|
/// <summary>
|
|
/// Dto für einen Hund
|
|
/// </summary>
|
|
public class DogDto : SyncEntityDto
|
|
{
|
|
/// <summary>
|
|
/// Id der Hunderasse
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string DogRaceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des App-Users
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string AppUserId { get; set; }
|
|
|
|
#region Basis
|
|
|
|
/// <summary>
|
|
/// Nummer des Hundes
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(100)]
|
|
public string Number { get; set; }
|
|
|
|
/// <summary>
|
|
/// Name des Hundes
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(100)]
|
|
public string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional: Beschreibung
|
|
/// </summary>
|
|
[MaxLength(5000)]
|
|
public string Description { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional - Foto des Hundes
|
|
/// </summary>
|
|
[MaxLength(500)]
|
|
public string Photo { get; set; }
|
|
|
|
/// <summary>
|
|
/// Geburtstag des Hundes
|
|
/// </summary>
|
|
public DateTimeOffset? BirthDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Geschlecht des Hundes
|
|
/// </summary>
|
|
[Required]
|
|
public DogSexDto Sex { get; set; }
|
|
|
|
/// <summary>
|
|
/// Größe des Hundes
|
|
/// </summary>
|
|
[Required]
|
|
public DogSizeDto Size { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Eigenschaften beim Gassi gehen
|
|
|
|
/// <summary>
|
|
/// Zieht an der Leine
|
|
/// </summary>
|
|
[Required]
|
|
public bool PullsTheLeash { get; set; }
|
|
|
|
/// <summary>
|
|
/// Geht an der Leine
|
|
/// </summary>
|
|
[Required]
|
|
public bool WalksTheLeash { get; set; }
|
|
|
|
/// <summary>
|
|
/// Kennt die Grundkommandos
|
|
/// </summary>
|
|
[Required]
|
|
public bool BasicCommands { get; set; }
|
|
|
|
/// <summary>
|
|
/// Jagd andere Tiere
|
|
/// </summary>
|
|
[Required]
|
|
public bool Hunter { get; set; }
|
|
|
|
/// <summary>
|
|
/// Versucht alles zu essen
|
|
/// </summary>
|
|
[Required]
|
|
public bool Eating { get; set; }
|
|
|
|
/// <summary>
|
|
/// Springt Menschen an
|
|
/// </summary>
|
|
[Required]
|
|
public bool Jumper { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Persönlichkeit
|
|
|
|
/// <summary>
|
|
/// Mag Erwachsene
|
|
/// </summary>
|
|
[Required]
|
|
public bool LikesAdults { get; set; }
|
|
|
|
/// <summary>
|
|
/// Mag Kinder
|
|
/// </summary>
|
|
[Required]
|
|
public bool LikesChildren { get; set; }
|
|
|
|
/// <summary>
|
|
/// Mag Artgenossen
|
|
/// </summary>
|
|
[Required]
|
|
public bool LikesConspecifics { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist zutraulich
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsTrustful { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist aggressiv
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsAggressiv { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist ein Einzelgänger
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsLoneGunner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Aggressionsgrad des Hundes, wenn aggressiv
|
|
/// </summary>
|
|
[Required]
|
|
public DogAggressionLevelDto AggressionLevel { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Verhalten wenn jemand das Haus betritt
|
|
|
|
/// <summary>
|
|
/// Stürmt nach draussen
|
|
/// </summary>
|
|
[Required]
|
|
public bool RushesOutside { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist ruhig und entspannt
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsCalm { get; set; }
|
|
|
|
/// <summary>
|
|
/// Pinkelt vor Aufregung
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsPeeing { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist schüchtern
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsShy { get; set; }
|
|
|
|
/// <summary>
|
|
/// Bewacht das zuhause
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsGuard { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Medical
|
|
|
|
/// <summary>
|
|
/// Unverträglichkeiten
|
|
/// </summary>
|
|
[MaxLength(5000)]
|
|
public string Intolerances { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist gechipt
|
|
/// </summary>
|
|
[Required]
|
|
public bool Chiped { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist sterilisiert?
|
|
/// </summary>
|
|
[Required]
|
|
public bool Sterilized { get; set; }
|
|
|
|
/// <summary>
|
|
/// Medizinische Informationen
|
|
/// </summary>
|
|
[MaxLength(5000)]
|
|
public string MedicalInfo { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Sitting
|
|
|
|
/// <summary>
|
|
/// Ist stubenrein?
|
|
/// </summary>
|
|
[Required]
|
|
public bool HouseTrained { get; set; }
|
|
|
|
/// <summary>
|
|
/// Fütterungszeiten
|
|
/// </summary>
|
|
[Required]
|
|
public DogFeedingTimesDto FeedingTimes { get; set; }
|
|
|
|
/// <summary>
|
|
/// Fütterungszeiten Individuell
|
|
/// </summary>
|
|
[MaxLength(500)]
|
|
public string FeedingIndividual { get; set; }
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// Rating-Statistiken für den Hund
|
|
/// </summary>
|
|
public RatingStatisticsDto RatingStatistics { 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>
|
|
/// Datum der Erstellung
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
|
|
public DogDto()
|
|
{
|
|
RatingStatistics = new RatingStatisticsDto();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// DTO Min-Info eines Hundes
|
|
/// </summary>
|
|
public class DogMinInfoDto : SyncEntityDto
|
|
{
|
|
/// <summary>
|
|
/// Id der Hunderasse
|
|
/// </summary>
|
|
public string DogRaceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Name der Hunderasse
|
|
/// </summary>
|
|
public string DogRaceName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Name des Hundes
|
|
/// </summary>
|
|
public string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional - Foto des Hundes
|
|
/// </summary>
|
|
public string Photo { get; set; }
|
|
|
|
/// <summary>
|
|
/// Geschlecht
|
|
/// </summary>
|
|
public DogSexDto Sex { get; set; }
|
|
|
|
/// <summary>
|
|
/// Größe des Hundes
|
|
/// </summary>
|
|
public DogSizeDto Size { get; set; }
|
|
|
|
/// <summary>
|
|
/// Geburtstag des Hundes
|
|
/// </summary>
|
|
public DateTimeOffset? BirthDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Durchschnittliche Bewertung
|
|
/// </summary>
|
|
public decimal AverageRating { get; set; }
|
|
|
|
/// <summary>
|
|
/// Anzahl Bewertungen
|
|
/// </summary>
|
|
public int TotalRatings { 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
|
|
}
|
|
}
|