KoogleApp/Koogle.Domain/Entities/Person.cs

50 lines
1.2 KiB
C#

using Koogle.Domain.Entities;
using Koogle.Domain.Enums;
namespace Koogle.Domain.Entities;
/// <summary>
/// Represents a person associated with a club that can be a member or a guest.
/// </summary>
public class Person : BaseEntity
{
// Stammdaten
/// <summary>
/// name of the person.
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// status of the person indicating if they are a member or a guest of the related club.
/// </summary>
public PersonStatus PersonStatus { get; set; }
// Zuordnungen
/// <summary>
/// id of the referenced Club.
/// </summary>
public Guid ClubId { get; set; }
// Navigation Property für 1:n Beziehung
/// <summary>
/// reference to the associated Expenses.
/// </summary>
public ICollection<PersonExpense> Expenses { get; set; } = new List<PersonExpense>();
/// <summary>
/// reference to the associated Persons.
/// </summary>
public ICollection<DayPerson> DayPersons { get; set; } = new List<DayPerson>();
/// <summary>
/// the associated Club.
/// </summary>
public Club Club { get; set; } = null!;
}