using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using gehGassi.Dto.Common;
namespace gehGassi.Dto.Ratings
{
///
/// DTO für ein Rating
///
public class RatingDto : SyncEntityDto
{
///
/// Wer hat das Rating erstellt?
///
[Required]
[MaxLength(128)]
public string FromId { get; set; }
///
/// Typ der Quelle des Ratings
///
[Required]
public AppUserTypeDto FromType { get; set; }
///
/// Ziel Id des Ratings
///
[Required]
[MaxLength(128)]
public string TargetId { get; set; }
///
/// Ziel-Typ
///
[Required]
public RatingTargetDto 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; }
}
///
/// DTO für die Abfrage von Rating-Check.
/// Betrifft Hat schon bewertet, darf bewerten
///
public class RatingCheckQueryDto
{
///
/// Wer hat das Rating erstellt?
///
[Required]
[MaxLength(128)]
public string FromId { get; set; }
///
/// Typ der Quelle des Ratings
///
[Required]
public AppUserTypeDto FromType { get; set; }
///
/// Ziel Id des Ratings
///
[Required]
[MaxLength(128)]
public string TargetId { get; set; }
///
/// Ziel-Typ
///
[Required]
public RatingTargetDto TargetType { get; set; }
}
///
/// DTO für die Abfrage von Ratings
///
public class RatingsQueryDto : QueryDto
{
///
/// Wer hat das Rating erstellt?
///
public string FromId { get; set; }
///
/// Typ der Quelle des Ratings
///
public AppUserTypeDto? FromType { get; set; }
///
/// Ziel Id des Ratings
///
public string TargetId { get; set; }
///
/// Ziel-Typ
///
public RatingTargetDto? TargetType { get; set; }
}
///
/// Repräsentiert ein Rating das von jemanden für jemanden oder etwas vergeben wurde mit Namen augelöst
///
public class RatingWithNamesDto : SyncEntityDto
{
///
/// 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 AppUserTypeDto 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 RatingTargetDto 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; }
#region Erweiterung Blockier- und Sperrinfo
///
/// Blockiert
///
public bool FromBlocked { get; set; }
///
/// Gesperrt
///
public bool FromLocked { get; set; }
#endregion
}
}