44 lines
1.0 KiB
C#
44 lines
1.0 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace GameList.Domain;
|
|
|
|
public class Suggestion
|
|
{
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
public Guid PlayerId { get; set; }
|
|
|
|
public Player? Player { get; set; }
|
|
|
|
[Required]
|
|
[MaxLength(100)]
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
[MaxLength(50)]
|
|
public string? Genre { get; set; }
|
|
|
|
[MaxLength(500)]
|
|
public string? Description { get; set; }
|
|
|
|
[MaxLength(2048)]
|
|
public string? ScreenshotUrl { get; set; }
|
|
|
|
[MaxLength(2048)]
|
|
public string? YoutubeUrl { get; set; }
|
|
|
|
[MaxLength(2048)]
|
|
public string? GameUrl { get; set; }
|
|
|
|
public int? MinPlayers { get; set; }
|
|
public int? MaxPlayers { get; set; }
|
|
|
|
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
|
|
|
public int? ParentSuggestionId { get; set; }
|
|
public Suggestion? ParentSuggestion { get; set; }
|
|
public ICollection<Suggestion> LinkedSuggestions { get; set; } = new List<Suggestion>();
|
|
|
|
public ICollection<Vote> Votes { get; set; } = new List<Vote>();
|
|
}
|