using System;
using System.ComponentModel;

namespace TimeScheduler.Model
{
  /// <summary>Beinhaltet die Definition eines Daten-Elementes, das eine Zeiteinheit aufnimmt</summary>
  public interface ITimeItem : INotifyPropertyChanged
  {
    /// <summary>Eindeutiger Schlüssel, der ein Element identifizieren kann</summary>
    int Key { get; set; }

    /// <summary>Textuelle Beschreibung</summary>
    string Description { get; set; }

    /// <summary>Startzeit</summary>
    DateTime From { get; set; }

    /// <summary>Endezeit</summary>
    DateTime Till { get; set; }

    /// <summary>Kostenstelle</summary>
    int CostUnit { get; set; }

    /// <summary>Typ</summary>
    TimeItemType ItemType { get; set; }

    /// <summary>Definiert ob diese Element, das aktuelle ist auf dem gespeichert werden soll</summary>
    bool IsCurrentItem { get; set; }
  }
}
