gehgassi_backend/gehGassi.Web/Models/WalkComplaintVm.cs

176 lines
4.5 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using gehGassi.Domain.Common;
namespace gehGassi.Web.Models
{
/// <summary>
/// Viewmodel für Reklamationen
/// </summary>
public class WalkComplaintVm : SyncEntityVm
{
/// <summary>
/// Id des Walks
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[MaxLength(128, ErrorMessage = "Err_StringLength_Max")]
public string WalkId { get; set; }
/// <summary>
/// Wer hat die Beschwerde erstellt?
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Display(Name = "WalkComplaint_Source")]
public WalkComplaintSource Source { get; set; }
/// <summary>
/// Art der Beschwerde
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Display(Name = "WalkComplaint_Type")]
public WalkComplaintType Type { get; set; }
/// <summary>
/// Nachricht zur Beschwerde
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[MaxLength(1000, ErrorMessage = "Err_StringLength_Max")]
[Display(Name = "WalkComplaint_Message")]
public string Message { get; set; }
/// <summary>
/// Status der Beschwerde
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Display(Name = "WalkComplaint_Status")]
public WalkComplaintStatus Status { get; set; }
/// <summary>
/// Gehgassi Benutzer der die Beschwerde zuletzt bearbeitet hat
/// </summary>
[MaxLength(256, ErrorMessage = "Err_StringLength_Max")]
[Display(Name = "WalkComplaint_UserName")]
public string UserName { get; set; }
/// <summary>
/// Kommentar zur Beschwerde von gehgassi
/// </summary>
[Display(Name = "WalkComplaint_Comment")]
public string Comment { get; set; }
/// <summary>
/// Datum der Lösung der Beschwerde
/// </summary>
[Display(Name = "WalkComplaint_Resolved")]
public DateTimeOffset? Resolved { get; set; }
/// <summary>
/// Datum der Erstellung der Beschwerde
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Display(Name = "Common_Created")]
public DateTimeOffset Created { get; set; }
}
/// <summary>
/// Viewmodel für eine Reklamation Listendarstellung
/// </summary>
public class WalkComplaintListVm : SyncEntityListVm
{
/// <summary>
/// Id des Walks
/// </summary>
public string WalkId { get; set; }
/// <summary>
/// Art der Walk Anfrage
/// </summary>
public WalkTypeVm WalkType { get; set; }
public string WalkTypeText { get; set; }
/// <summary>
/// Welche Art von Service soll durchgeführt werden
/// </summary>
public WalkServiceTypeVm WalkServiceType { get; set; }
public string WalkServiceTypeText { get; set; }
/// <summary>
/// Name des DogWalkers
/// </summary>
public string DogWalkerName { get; set; }
/// <summary>
/// Foto des Dogwalkers
/// </summary>
public string DogWalkerPhoto { get; set; }
/// <summary>
/// Name des Hundebesitzers
/// </summary>
public string DogOwnerName { get; set; }
/// <summary>
/// Foto des Hundebesitzers
/// </summary>
public string DogOwnerPhoto { get; set; }
/// <summary>
/// Startdatum des Walks mit Urhrzeit
/// </summary>
public DateTimeOffset WalkStart { get; set; }
/// <summary>
/// Enddatum des Walks mit Uhrzeit
/// </summary>
public DateTimeOffset WalkEnd { get; set; }
/// <summary>
/// Abholadresse - ISO2 Ländercode
/// </summary>
public string PickupAddress_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 WalkPrice { get; set; }
/// <summary>
/// Wer hat die Beschwerde erstellt?
/// </summary>
public WalkComplaintSourceVm Source { get; set; }
public string SourceText { get; set; }
/// <summary>
/// Art der Beschwerde
/// </summary>
public WalkComplaintTypeVm Type { get; set; }
public string TypeText { get; set; }
/// <summary>
/// Status der Beschwerde
/// </summary>
public WalkComplaintStatusVm Status { get; set; }
public string StatusText { get; set; }
/// <summary>
/// Gehgassi Benutzer der die Beschwerde zuletzt bearbeitet hat
/// </summary>
public string UserName { get; set; }
/// <summary>
/// Datum der Lösung der Beschwerde
/// </summary>
public DateTimeOffset? Resolved { get; set; }
/// <summary>
/// Datum der Erstellung der Beschwerde
/// </summary>
public DateTimeOffset Created { get; set; }
}
}