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