95 lines
2.2 KiB
C#
95 lines
2.2 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using System.Collections.ObjectModel;
|
|
|
|
namespace Jugenddienst_Stunden.Types;
|
|
/// <summary>
|
|
/// Represents a day time entry for an employee.
|
|
/// </summary>
|
|
public class DayTime {
|
|
/// <summary>
|
|
/// ID des Stundeneintrages
|
|
/// </summary>
|
|
public int? Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Mitarbeiter-ID
|
|
/// </summary>
|
|
public int EmployeeId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Der betreffende Tag
|
|
/// </summary>
|
|
public DateTime Day { get; set; }
|
|
|
|
/// <summary>
|
|
/// Der Wochentag
|
|
/// </summary>
|
|
public int Wday { get; set; }
|
|
|
|
/// <summary>
|
|
/// Arbeitsbeginn
|
|
/// </summary>
|
|
public TimeOnly Begin { get; set; }
|
|
|
|
/// <summary>
|
|
/// Arbeitsende
|
|
/// </summary>
|
|
public TimeOnly End { get; set; }
|
|
|
|
/// <summary>
|
|
/// Beschreibung der Tätigkeit
|
|
/// </summary>
|
|
public string? Description { get; set; }
|
|
|
|
/// <summary>
|
|
/// Freistellung
|
|
/// </summary>
|
|
public string? Free { get; set; }
|
|
|
|
/// <summary>
|
|
/// Freistellung genehmigt?
|
|
/// </summary>
|
|
public bool? Approved { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// Das gewählte Projekt
|
|
/// </summary>
|
|
public int? Projekt { get; set; }
|
|
|
|
/// <summary>
|
|
/// Die gewählte Gemeinde
|
|
/// </summary>
|
|
public int? Gemeinde { get; set; }
|
|
|
|
/// <summary>
|
|
/// Nachtstunden
|
|
/// </summary>
|
|
public TimeOnly Night { get; set; }
|
|
|
|
/// <summary>
|
|
/// Summe Arbeitszeit (inklusive Nachstunden mit Faktor)
|
|
/// </summary>
|
|
public Dictionary<string, TimeOnly> Total { get; set; }
|
|
|
|
public TimeOnly End_print { get; set; }
|
|
public TimeSpan TimeSpanVon { get; set; }
|
|
public TimeSpan TimeSpanBis { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets the active Gemeinde based on the gemeinde ID.
|
|
/// </summary>
|
|
public Gemeinde? GemeindeAktiv { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets the active Projekt based on the projekt ID.
|
|
/// </summary>
|
|
public Projekt? ProjektAktiv { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets the active Freistellung based on the Freistellung ID
|
|
/// </summary>
|
|
public Freistellung? FreistellungAktiv { get; set; }
|
|
|
|
}
|