using TakeoutSaaS.Shared.Abstractions.Entities;

namespace TakeoutSaaS.Domain.Stores.Entities;

/// <summary>
/// 门店员工班次模板。
/// </summary>
public sealed class StoreStaffTemplate : MultiTenantEntityBase
{
    /// <summary>
    /// 门店 ID。
    /// </summary>
    public long StoreId { get; set; }

    /// <summary>
    /// 早班开始时间。
    /// </summary>
    public TimeSpan MorningStartTime { get; set; } = new(9, 0, 0);

    /// <summary>
    /// 早班结束时间。
    /// </summary>
    public TimeSpan MorningEndTime { get; set; } = new(14, 0, 0);

    /// <summary>
    /// 晚班开始时间。
    /// </summary>
    public TimeSpan EveningStartTime { get; set; } = new(14, 0, 0);

    /// <summary>
    /// 晚班结束时间。
    /// </summary>
    public TimeSpan EveningEndTime { get; set; } = new(21, 0, 0);

    /// <summary>
    /// 全天班开始时间。
    /// </summary>
    public TimeSpan FullStartTime { get; set; } = new(9, 0, 0);

    /// <summary>
    /// 全天班结束时间。
    /// </summary>
    public TimeSpan FullEndTime { get; set; } = new(21, 0, 0);
}
