91 lines
2.2 KiB
C#
91 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using gehGassiApp.Domain.Base;
|
|
|
|
namespace gehGassiApp.Domain.Walkers
|
|
{
|
|
/// <summary>
|
|
/// Repräsentiert eine Zeiteinstellung für einen Walker.
|
|
/// Verfügbarkeit je Tag uns Start-Endzeit
|
|
/// Ist nicht für Sittung geeigent
|
|
/// </summary>
|
|
public class WalkingTime : SyncEntity
|
|
{
|
|
/// <summary>
|
|
/// Id des DogWalkers
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string DogWalkerId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Tag in der Woche (So - Mo)
|
|
/// </summary>
|
|
[Required]
|
|
public DayOfWeek Day { get; set; }
|
|
|
|
/// <summary>
|
|
/// Startzeit
|
|
/// </summary>
|
|
[Required]
|
|
public TimeSpan Start { get; set; }
|
|
|
|
/// <summary>
|
|
/// Endzeit
|
|
/// </summary>
|
|
[Required]
|
|
public TimeSpan End { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist die Einstellung aktiv?
|
|
/// </summary>
|
|
[Required]
|
|
public bool Enabled { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Hilfsklasse für das Darstellen der verfügbaren Zeiten in der Walker-Ansicht
|
|
/// </summary>
|
|
public class WalkingTimeGroup
|
|
{
|
|
/// <summary>
|
|
/// Tag in der Woche (So - Mo)
|
|
/// </summary>
|
|
public DayOfWeek Day { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gibt an ob es Zeiten für den Tag gibt
|
|
/// </summary>
|
|
public bool HasTimes
|
|
{
|
|
get
|
|
{
|
|
return WalkingTimes.Count(c => c.Enabled) > 0;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Liste der Zeiten für den Tag
|
|
/// </summary>
|
|
public List<WalkingTime> WalkingTimes { get; set; }
|
|
|
|
/// <summary>
|
|
/// Hilfsvariable ob noch ein Eintrag folgt
|
|
/// </summary>
|
|
public bool HasNext { get; set; }
|
|
|
|
/// <summary>
|
|
/// Erstellt eine Instanz
|
|
/// </summary>
|
|
public WalkingTimeGroup()
|
|
{
|
|
HasNext = true;
|
|
WalkingTimes = new List<WalkingTime>();
|
|
}
|
|
}
|
|
}
|