namespace AMKronos.Models;

public class DayEntry
{
    public DateTime Date { get; set; }
    public TimeSpan? Beginn { get; set; }
    public TimeSpan? Ende { get; set; }
    public TimeSpan? Pause { get; set; }
    public string Bemerkung { get; set; } = "";

    public double GesamtDezimal
    {
        get
        {
            if (!Beginn.HasValue || !Ende.HasValue)
            {
                return 0;
            }

            var arbeitszeit = Ende.Value - Beginn.Value - (Pause ?? TimeSpan.Zero);
            if (arbeitszeit.TotalHours < 0)
            {
                return 0;
            }

            return Math.Round(arbeitszeit.TotalHours, 2);
        }
    }

    public TimeSpan Zeit
    {
        get
        {
            if (!Beginn.HasValue || !Ende.HasValue)
            {
                return TimeSpan.Zero;
            }

            var arbeitszeit = Ende.Value - Beginn.Value - (Pause ?? TimeSpan.Zero);
            if (arbeitszeit.TotalHours < 0)
            {
                return TimeSpan.Zero;
            }

            return arbeitszeit;
        }
    }
}
