194 lines
4.9 KiB
C#

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
{
/// <summary>
/// Repräsentiert ein Rating das von jemanden für jemanden oder etwas vergeben wurde
/// </summary>
public class Rating : SyncEntity
{
/// <summary>
/// Wer hat das Rating erstellt?
/// </summary>
[Required]
[MaxLength(128)]
public string FromId { get; set; }
/// <summary>
/// Typ der Quelle des Ratings
/// </summary>
[Required]
public AppUserType FromType { get; set; }
/// <summary>
/// Ziel Id des Ratings
/// </summary>
[Required]
[MaxLength(128)]
public string TargetId { get; set; }
/// <summary>
/// Ziel-Typ
/// </summary>
[Required]
public RatingTarget TargetType { get; set; }
/// <summary>
/// Vergebene Bewertung
/// </summary>
[Required]
public decimal Points { get; set; }
/// <summary>
/// Anmerkungen zum Rating
/// </summary>
[MaxLength(500)]
public string Info { get; set; }
/// <summary>
/// Wann erstellt?
/// </summary>
[Required]
public DateTimeOffset Created { get; set; }
}
/// <summary>
/// Repräsentiert ein Rating das von jemanden für jemanden oder etwas vergeben wurde mit Namen augelöst
/// </summary>
public class RatingWithNames : SyncEntityVw
{
/// <summary>
/// Wer hat das Rating erstellt?
/// </summary>
public string FromId { get; set; }
/// <summary>
/// Name des Rating Erstellers
/// </summary>
public string FromName { get; set; }
/// <summary>
/// Photo des Ratings Erstellers
/// </summary>
public string FromPhoto { get; set; }
/// <summary>
/// Typ der Quelle des Ratings
/// </summary>
public AppUserType FromType { get; set; }
/// <summary>
/// Ziel Id des Ratings
/// </summary>
public string TargetId { get; set; }
/// <summary>
/// Name des Rating Ziels
/// </summary>
public string TargetName { get; set; }
/// <summary>
/// Photo des Ratings Ziels
/// </summary>
public string TargetPhoto { get; set; }
/// <summary>
/// Ziel-Typ
/// </summary>
public RatingTarget TargetType { get; set; }
/// <summary>
/// Vergebene Bewertung
/// </summary>
public decimal Points { get; set; }
/// <summary>
/// Anmerkungen zum Rating
/// </summary>
public string Info { get; set; }
/// <summary>
/// Wann erstellt?
/// </summary>
public DateTimeOffset Created { get; set; }
}
/// <summary>
/// Repräsentiert ein Rating das von jemanden für jemanden oder etwas vergeben wurde mit Namen augelöst und um Lock und Block erweitert
/// </summary>
public class RatingWithNamesEx : SyncEntityVw
{
/// <summary>
/// Wer hat das Rating erstellt?
/// </summary>
public string FromId { get; set; }
/// <summary>
/// Name des Rating Erstellers
/// </summary>
public string FromName { get; set; }
/// <summary>
/// Photo des Ratings Erstellers
/// </summary>
public string FromPhoto { get; set; }
/// <summary>
/// Typ der Quelle des Ratings
/// </summary>
public AppUserType FromType { get; set; }
/// <summary>
/// Rating-Ersteller gesperrt
/// </summary>
public bool FromLocked { get; set; }
/// <summary>
/// Rating-Ersteller blockiert
/// </summary>
public bool FromBlocked { get; set; }
/// <summary>
/// Ziel Id des Ratings
/// </summary>
public string TargetId { get; set; }
/// <summary>
/// Name des Rating Ziels
/// </summary>
public string TargetName { get; set; }
/// <summary>
/// Photo des Ratings Ziels
/// </summary>
public string TargetPhoto { get; set; }
/// <summary>
/// Ziel-Typ
/// </summary>
public RatingTarget TargetType { get; set; }
/// <summary>
/// Vergebene Bewertung
/// </summary>
public decimal Points { get; set; }
/// <summary>
/// Anmerkungen zum Rating
/// </summary>
public string Info { get; set; }
/// <summary>
/// Wann erstellt?
/// </summary>
public DateTimeOffset Created { get; set; }
}
}