using gehGassi.Domain.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassi.Domain.Base;
namespace gehGassi.Domain.Ratings
{
///
/// Repräsentiert ein Rating das von jemanden für jemanden oder etwas vergeben wurde
///
public class Rating : SyncEntity
{
///
/// Wer hat das Rating erstellt?
///
[Required]
[MaxLength(128)]
public string FromId { get; set; }
///
/// Typ der Quelle des Ratings
///
[Required]
public AppUserType FromType { get; set; }
///
/// Ziel Id des Ratings
///
[Required]
[MaxLength(128)]
public string TargetId { get; set; }
///
/// Ziel-Typ
///
[Required]
public RatingTarget TargetType { get; set; }
///
/// Vergebene Bewertung
///
[Required]
public decimal Points { get; set; }
///
/// Anmerkungen zum Rating
///
[MaxLength(500)]
public string Info { get; set; }
///
/// Wann erstellt?
///
[Required]
public DateTimeOffset Created { get; set; }
}
///
/// Repräsentiert ein Rating das von jemanden für jemanden oder etwas vergeben wurde mit Namen augelöst
///
public class RatingWithNames : SyncEntityVw
{
///
/// Wer hat das Rating erstellt?
///
public string FromId { get; set; }
///
/// Name des Rating Erstellers
///
public string FromName { get; set; }
///
/// Photo des Ratings Erstellers
///
public string FromPhoto { get; set; }
///
/// Typ der Quelle des Ratings
///
public AppUserType FromType { get; set; }
///
/// Ziel Id des Ratings
///
public string TargetId { get; set; }
///
/// Name des Rating Ziels
///
public string TargetName { get; set; }
///
/// Photo des Ratings Ziels
///
public string TargetPhoto { get; set; }
///
/// Ziel-Typ
///
public RatingTarget TargetType { get; set; }
///
/// Vergebene Bewertung
///
public decimal Points { get; set; }
///
/// Anmerkungen zum Rating
///
public string Info { get; set; }
///
/// Wann erstellt?
///
public DateTimeOffset Created { get; set; }
}
///
/// Repräsentiert ein Rating das von jemanden für jemanden oder etwas vergeben wurde mit Namen augelöst und um Lock und Block erweitert
///
public class RatingWithNamesEx : SyncEntityVw
{
///
/// Wer hat das Rating erstellt?
///
public string FromId { get; set; }
///
/// Name des Rating Erstellers
///
public string FromName { get; set; }
///
/// Photo des Ratings Erstellers
///
public string FromPhoto { get; set; }
///
/// Typ der Quelle des Ratings
///
public AppUserType FromType { get; set; }
///
/// Rating-Ersteller gesperrt
///
public bool FromLocked { get; set; }
///
/// Rating-Ersteller blockiert
///
public bool FromBlocked { get; set; }
///
/// Ziel Id des Ratings
///
public string TargetId { get; set; }
///
/// Name des Rating Ziels
///
public string TargetName { get; set; }
///
/// Photo des Ratings Ziels
///
public string TargetPhoto { get; set; }
///
/// Ziel-Typ
///
public RatingTarget TargetType { get; set; }
///
/// Vergebene Bewertung
///
public decimal Points { get; set; }
///
/// Anmerkungen zum Rating
///
public string Info { get; set; }
///
/// Wann erstellt?
///
public DateTimeOffset Created { get; set; }
}
}