gehgassi_backend/gehGassi.Web/Models/WalkWithNamesVm.cs

391 lines
11 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using gehGassi.Dto.Common;
using gehGassi.Dto.Dogs;
using System.Collections.Generic;
using System;
using gehGassi.Domain.Common;
using gehGassi.Domain.Dogs;
using System.ComponentModel.DataAnnotations.Schema;
namespace gehGassi.Web.Models
{
/// <summary>
/// Viewmodel für Walks mit Namen aufgelöst
/// </summary>
public class WalkWithNamesVm : SyncEntityListVm
{
/// <summary>
/// Art der Walk Anfrage
/// </summary>
public WalkTypeVm Type { get; set; }
/// <summary>
/// Welche Art von Service soll durchgeführt werden
/// </summary>
public WalkServiceTypeVm ServiceType { get; set; }
/// <summary>
/// Id des Walkers
/// </summary>
public string DogWalkerId { get; set; }
/// <summary>
/// Name des DogWalkers
/// </summary>
public string DogWalkerName { get; set; }
/// <summary>
/// Foto des Dogwalkers
/// </summary>
public string DogWalkerPhoto { get; set; }
/// <summary>
/// Id des Hundebesitzers
/// </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>
/// Id der öffentlichen Anfrage, wenn über diese erstellt
/// </summary>
public string PublicWalkRequestId { get; set; }
/// <summary>
/// Jsonliste mit Id´s der Hunde die ausgewählt wurden
/// </summary>
public string DogsJson { get; set; }
/// <summary>
/// Liste der Hunde
/// </summary>
[NotMapped]
public List<DogMinInfo> Dogs { get; set; }
/// <summary>
/// Anzahl der Hunde
/// </summary>
public int DogCount { get; set; }
/// <summary>
/// Startdatum des Walks mit Urhrzeit
/// </summary>
public DateTimeOffset Start { get; set; }
/// <summary>
/// Enddatum des Walks mit Uhrzeit
/// </summary>
public DateTimeOffset End { 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>
/// RückgabeAdresse - Adresszeile 1
/// </summary>
public string ReturnAddress_AddressLine1 { get; set; }
/// <summary>
/// RückgabeAdresse - Adresszeile 2
/// </summary>
public string ReturnAddress_AddressLine2 { get; set; }
/// <summary>
/// RückgabeAdresse - Stadt / Ort
/// </summary>
public string ReturnAddress_City { get; set; }
/// <summary>
/// RückgabeAdresse - PLZ
/// </summary>
public string ReturnAddress_Zip { get; set; }
/// <summary>
/// RückgabeAdresse - Bundesland / Staat
/// </summary>
public string ReturnAddress_State { get; set; }
/// <summary>
/// RückgabeAdresse - ISO2 Ländercode
/// </summary>
public string ReturnAddress_CountryCode { get; set; }
/// <summary>
/// Preis für den Walk / Das Sitting. Wird gesetzt und kann entweder fix sein (öffentliche Anfrage) oder errechnet
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// Zusatzinfo für den Walk. Z.B. bei Susi klingeln
/// </summary>
public string Info { get; set; }
/// <summary>
/// Status eines Walks
/// </summary>
public WalkStatusVm Status { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting gestartet?
/// </summary>
public DateTimeOffset? Started { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting beendet?
/// </summary>
public DateTimeOffset? Completed { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting bestätigt?
/// </summary>
public DateTimeOffset? Confirmed { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting reklamiert?
/// </summary>
public DateTimeOffset? Complained { get; set; }
/// <summary>
/// Optional: Grund für die Reklamation
/// </summary>
public string ComplainReason { get; set; }
#region Status Infos
/// <summary>
/// Optional: Grund für die Ablehnung
/// </summary>
public string DeclinedReason { get; set; }
/// <summary>
/// Optional: Grund für die Stornierung
/// </summary>
public string CancelledReason { get; set; }
/// <summary>
/// Wer hat eine Stornierung durchgeführt
/// </summary>
public CancellationSourceVm CancelledBy { get; set; }
/// <summary>
/// Anmerkungen vom Walker nach dem Abschluss
/// </summary>
public string CompletedInfo { get; set; }
/// <summary>
/// Kotabsatz?
/// </summary>
public bool Defactation { get; set; }
#endregion
#region Payment
/// <summary>
/// Zahlungsstatus des Walks
/// </summary>
public PaymentStatusVm PaymentStatus { get; set; }
#endregion
/// <summary>
/// Datum der Erstellung des Walks
/// </summary>
public DateTimeOffset Created { get; set; }
}
/// <summary>
/// Viewmodel für Walks mit Namen aufgelöst für listen
/// </summary>
public class WalkWithNamesListVm : SyncEntityListVm
{
/// <summary>
/// Art der Walk Anfrage
/// </summary>
public WalkTypeVm Type { get; set; }
/// <summary>
/// Art der Walk Anfrage
/// </summary>
public string TypeText { get; set; }
/// <summary>
/// Welche Art von Service soll durchgeführt werden
/// </summary>
public WalkServiceTypeVm ServiceType { get; set; }
/// <summary>
/// Welche Art von Service soll durchgeführt werden
/// </summary>
public string ServiceTypeText { get; set; }
/// <summary>
/// Id des Walkers
/// </summary>
public string DogWalkerId { get; set; }
/// <summary>
/// Name des DogWalkers
/// </summary>
public string DogWalkerName { get; set; }
/// <summary>
/// Foto des Dogwalkers
/// </summary>
public string DogWalkerPhoto { get; set; }
/// <summary>
/// Id des Hundebesitzers
/// </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>
/// Id der öffentlichen Anfrage, wenn über diese erstellt
/// </summary>
public string PublicWalkRequestId { get; set; }
/// <summary>
/// Anzahl der Hunde
/// </summary>
public int DogCount { get; set; }
/// <summary>
/// Startdatum des Walks mit Urhrzeit
/// </summary>
public DateTimeOffset Start { get; set; }
/// <summary>
/// Enddatum des Walks mit Uhrzeit
/// </summary>
public DateTimeOffset End { 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 - ISO2 Ländercode
/// </summary>
public string PickupAddress_CountryCode { get; set; }
/// <summary>
/// RückgabeAdresse - Stadt / Ort
/// </summary>
public string ReturnAddress_City { get; set; }
/// <summary>
/// RückgabeAdresse - PLZ
/// </summary>
public string ReturnAddress_Zip { get; set; }
/// <summary>
/// RückgabeAdresse - ISO2 Ländercode
/// </summary>
public string ReturnAddress_CountryCode { get; set; }
/// <summary>
/// Preis für den Walk / Das Sitting. Wird gesetzt und kann entweder fix sein (öffentliche Anfrage) oder errechnet
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// Status eines Walks
/// </summary>
public WalkStatusVm Status { get; set; }
/// <summary>
/// Status eines Walks
/// </summary>
public string StatusText { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting gestartet?
/// </summary>
public DateTimeOffset? Started { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting beendet?
/// </summary>
public DateTimeOffset? Completed { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting bestätigt?
/// </summary>
public DateTimeOffset? Confirmed { get; set; }
/// <summary>
/// Wann wurde der Walk / Sitting reklamiert?
/// </summary>
public DateTimeOffset? Complained { get; set; }
#region Payment
/// <summary>
/// Zahlungsstatus des Walks
/// </summary>
public PaymentStatusVm PaymentStatus { get; set; }
/// <summary>
/// Zahlungsstatus des Walks
/// </summary>
public string PaymentStatusText { get; set; }
#endregion
/// <summary>
/// Datum der Erstellung des Walks
/// </summary>
public DateTimeOffset Created { get; set; }
}
}