2021-03-22 12:09:25 -04:00
|
|
|
|
using Data.Models.Client;
|
|
|
|
|
using System;
|
2017-11-25 20:29:58 -05:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
|
|
2021-03-22 12:09:25 -04:00
|
|
|
|
namespace Data.Models
|
2017-11-25 20:29:58 -05:00
|
|
|
|
{
|
2021-03-22 12:09:25 -04:00
|
|
|
|
public class EFPenalty : SharedEntity
|
2017-11-25 20:29:58 -05:00
|
|
|
|
{
|
2021-03-22 12:09:25 -04:00
|
|
|
|
public enum PenaltyType
|
|
|
|
|
{
|
|
|
|
|
Report,
|
|
|
|
|
Warning,
|
|
|
|
|
Flag,
|
|
|
|
|
Kick,
|
|
|
|
|
TempBan,
|
|
|
|
|
Ban,
|
|
|
|
|
Unban,
|
|
|
|
|
Any,
|
|
|
|
|
Unflag,
|
2022-10-05 16:29:31 -04:00
|
|
|
|
Mute,
|
|
|
|
|
TempMute,
|
|
|
|
|
Unmute,
|
2021-03-22 12:09:25 -04:00
|
|
|
|
Other = 100
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-25 20:29:58 -05:00
|
|
|
|
[Key]
|
|
|
|
|
public int PenaltyId { get; set; }
|
2022-02-22 18:09:50 -05:00
|
|
|
|
public int? LinkId { get; set; }
|
2017-11-25 20:29:58 -05:00
|
|
|
|
[ForeignKey("LinkId")]
|
|
|
|
|
public virtual EFAliasLink Link { get; set; }
|
|
|
|
|
[Required]
|
|
|
|
|
public int OffenderId { get; set; }
|
|
|
|
|
[ForeignKey("OffenderId")]
|
|
|
|
|
public virtual EFClient Offender { get; set; }
|
|
|
|
|
[Required]
|
|
|
|
|
public int PunisherId { get; set; }
|
|
|
|
|
[ForeignKey("PunisherId")]
|
|
|
|
|
public virtual EFClient Punisher { get; set; }
|
|
|
|
|
[Required]
|
|
|
|
|
public DateTime When { get; set; }
|
|
|
|
|
[Required]
|
2018-10-15 20:51:04 -04:00
|
|
|
|
public DateTime? Expires { get; set; }
|
2017-11-25 20:29:58 -05:00
|
|
|
|
[Required]
|
|
|
|
|
public string Offense { get; set; }
|
2018-05-30 21:50:20 -04:00
|
|
|
|
public string AutomatedOffense { get; set; }
|
2018-12-16 22:16:56 -05:00
|
|
|
|
[Required]
|
|
|
|
|
public bool IsEvadedOffense { get; set; }
|
2019-05-29 17:55:35 -04:00
|
|
|
|
public PenaltyType Type { get; set; }
|
2017-11-25 20:29:58 -05:00
|
|
|
|
}
|
|
|
|
|
}
|