using gehGassi.Domain.Common; using gehGassi.Domain.Dogs; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System; using System.ComponentModel.DataAnnotations; namespace gehGassi.Web.Models { /// /// Viewmodel für eine öffentliche Anfrage mit Namen aufgelöst /// public class PublicWalkRequestWithNamesVm : SyncEntityListVm { /// /// Id des App-Users / Hundebesitzers der die Anfrage erstellt hat /// Ist eine AppUserId /// public string DogOwnerId { get; set; } /// /// Name des Hundebesitzers /// [Display(Name = "PublicWalkRequest_DogOwnerName")] public string DogOwnerName { get; set; } /// /// Foto des Hundebesitzers /// public string DogOwnerPhoto { get; set; } /// /// Abholadresse - Adresszeile 1 /// public string PickupAddress_AddressLine1 { get; set; } /// /// Abholadresse - Adresszeile 2 /// public string PickupAddress_AddressLine2 { get; set; } /// /// Abholadresse - Stadt / Ort /// public string PickupAddress_City { get; set; } /// /// Abholadresse - PLZ /// public string PickupAddress_Zip { get; set; } /// /// Abholadresse - Bundesland / Staat /// public string PickupAddress_State { get; set; } /// /// Abholadresse - ISO2 Ländercode /// public string PickupAddress_CountryCode { get; set; } /// /// Welche Art der Anfrage? /// [Display(Name = "PublicWalkRequest_RequestType")] public PublicWalkRequestTypeVm RequestType { get; set; } /// /// Startdatum und Uhrzeit /// [Display(Name = "PublicWalkRequest_StartDate")] public DateTimeOffset StartDate { get; set; } /// /// Enddatum und Urzeit /// [Display(Name = "PublicWalkRequest_EndDate")] public DateTimeOffset EndDate { get; set; } /// /// Id des Hundes /// public string DogId { get; set; } /// /// Name des Hundes /// public string DogName { get; set; } /// /// Foto des Hundes /// public string DogPhoto { get; set; } /// /// Jsonliste mit Id´s der Hunde die ausgewählt wurden /// public string DogsJson { get; set; } /// /// Liste der Hunde /// [NotMapped] public List Dogs { get; set; } /// /// Anzahl der Hunde /// [Display(Name = "PublicWalkRequest_DogCount")] public int DogCount { get; set; } /// /// Exklusiv buchen? /// public bool Exclusive { get; set; } /// /// Preis den der Besitzer bereit ist zu zahlen /// [Display(Name = "PublicWalkRequest_Price")] public decimal Price { get; set; } /// /// Zusatzinfo für den Auftrag /// [Display(Name = "PublicWalkRequest_Info")] public string Info { get; set; } /// /// Offen als Ausschreibung bis... Ablaufdatum /// public DateTimeOffset ExpirationDate { get; set; } /// /// Id des Walkers der den Auftrag erhalten hat /// Ist eine AppUserId /// public string DogWalkerId { get; set; } /// /// Name des Dogwalkers wenn selektiert /// [Display(Name = "PublicWalkRequest_DogWalkerName")] public string DogWalkerName { get; set; } /// /// Foto des Dogwalkers wenn gesetzt /// public string DogWalkerPhoto { get; set; } /// /// Zuordnung zum angenommenen Angebot /// public string PublicWalkResponseId { get; set; } /// /// Anzahl der Antworten /// [Display(Name = "PublicWalkRequest_ResponseCount")] public int ResponseCount { get; set; } /// /// Aktueller Status der öffentlichern Anfrage /// [Display(Name = "PublicWalkRequest_Status")] public PublicWalkRequestStatusVm Status { get; set; } /// /// Datum wann ein Angebot angenommen wurde /// [Display(Name = "PublicWalkRequest_PlacedDate")] public DateTimeOffset? PlacedDate { get; set; } /// /// Wann wurde die Anfrage erstellt? /// public DateTimeOffset Created { get; set; } } /// /// Viewmodel für eine öffentliche Anfrage mit Namen aufgelöst für Listen /// public class PublicWalkRequestListVm : SyncEntityListVm { /// /// Id des App-Users / Hundebesitzers der die Anfrage erstellt hat /// Ist eine AppUserId /// public string DogOwnerId { get; set; } /// /// Name des Hundebesitzers /// public string DogOwnerName { get; set; } /// /// Foto des Hundebesitzers /// public string DogOwnerPhoto { get; set; } /// /// Abholadresse - Stadt / Ort /// public string PickupAddress_City { get; set; } /// /// Abholadresse - PLZ /// public string PickupAddress_Zip { get; set; } /// /// Abholadresse - ISO2 Ländercode /// public string PickupAddress_CountryCode { get; set; } /// /// Welche Art der Anfrage? /// public PublicWalkRequestTypeVm RequestType { get; set; } /// /// Welche Art der Anfrage? /// public string RequestTypeText { get; set; } /// /// Startdatum und Uhrzeit /// public DateTimeOffset StartDate { get; set; } /// /// Enddatum und Urzeit /// public DateTimeOffset EndDate { get; set; } /// /// Anzahl der Hunde /// public int DogCount { get; set; } /// /// Preis den der Besitzer bereit ist zu zahlen /// public decimal Price { get; set; } /// /// Offen als Ausschreibung bis... Ablaufdatum /// public DateTimeOffset ExpirationDate { get; set; } /// /// Anzahl der Antworten /// public int ResponseCount { get; set; } /// /// Aktueller Status der öffentlichern Anfrage /// public PublicWalkRequestStatusVm Status { get; set; } /// /// Aktueller Status der öffentlichern Anfrage /// public string StatusText { get; set; } /// /// Datum wann ein Angebot angenommen wurde /// public DateTimeOffset? PlacedDate { get; set; } /// /// Wann wurde die Anfrage erstellt? /// public DateTimeOffset Created { get; set; } } }