diff --git a/TimeScheduler/TimeScheduler/Domain/IDomain.cs b/TimeScheduler/TimeScheduler/Domain/IDomain.cs index d6dd570..f986d89 100644 --- a/TimeScheduler/TimeScheduler/Domain/IDomain.cs +++ b/TimeScheduler/TimeScheduler/Domain/IDomain.cs @@ -11,6 +11,9 @@ namespace TimeScheduler.Domain /// Der Tag für den Werte gesucht werden sollen /// Die Daten, für den angefragten Tag IEnumerable GetItems(DateTime date); + /// Erzeugt ein neues -Element + /// Ein neues -Element + ITimeItem NewItem(); /// Ermittelt die gültigen Kostenstellen /// Liste der gültigen Kostenstellen diff --git a/TimeScheduler/TimeScheduler/Domain/Impl/FileDomain.cs b/TimeScheduler/TimeScheduler/Domain/Impl/FileDomain.cs index 34d5824..9a7740e 100644 --- a/TimeScheduler/TimeScheduler/Domain/Impl/FileDomain.cs +++ b/TimeScheduler/TimeScheduler/Domain/Impl/FileDomain.cs @@ -88,6 +88,8 @@ namespace TimeScheduler.Domain.Impl .OrderBy(x => x.From) .Cast(); } + ITimeItem IDomain.NewItem() { return new TimeItem(); } + Dictionary IDomain.GetCostUnits() { diff --git a/TimeScheduler/TimeScheduler/Domain/Impl/TimeItem.cs b/TimeScheduler/TimeScheduler/Domain/Impl/TimeItem.cs index a686ef5..a162887 100644 --- a/TimeScheduler/TimeScheduler/Domain/Impl/TimeItem.cs +++ b/TimeScheduler/TimeScheduler/Domain/Impl/TimeItem.cs @@ -15,7 +15,7 @@ namespace TimeScheduler.Domain.Impl { #region Konstruktion /// Standard-Konstruktor - public TimeItem() { key_ = -1; } + public TimeItem() { key_ = -1; From = DateTime.Now.Date; Till = From; } /// Konstruktor /// Beschreibung diff --git a/TimeScheduler/TimeScheduler/MainWindow.xaml b/TimeScheduler/TimeScheduler/MainWindow.xaml index bad02f2..3795fc7 100644 --- a/TimeScheduler/TimeScheduler/MainWindow.xaml +++ b/TimeScheduler/TimeScheduler/MainWindow.xaml @@ -28,6 +28,12 @@ + + + + + + + @@ -134,18 +144,21 @@ - - + + + + + - - + + - - + - - + diff --git a/TimeScheduler/TimeScheduler/ViewModel/MainViewModel.cs b/TimeScheduler/TimeScheduler/ViewModel/MainViewModel.cs index c62ba94..ae38ded 100644 --- a/TimeScheduler/TimeScheduler/ViewModel/MainViewModel.cs +++ b/TimeScheduler/TimeScheduler/ViewModel/MainViewModel.cs @@ -62,6 +62,8 @@ namespace TimeScheduler.ViewModel private void CreateCommands() { RefreshCommand = new RelayCommand(Refresh); + AddNewCommand = new RelayCommand(AddNew); + DeleteCommand = new RelayCommand(Delete, CanDelete); } public ICommand RefreshCommand { get; private set; } @@ -110,6 +112,13 @@ namespace TimeScheduler.ViewModel SelectedTimeItem = TimeItems.FirstOrDefault(); } + + public ICommand AddNewCommand { get; private set; } + private void AddNew() { TimeItems.Add(Provider.NewItem()); } + + public ICommand DeleteCommand { get; private set; } + private void Delete() { TimeItems.Remove(SelectedTimeItem); } + public bool CanDelete() { return SelectedTimeItem != null; } #endregion #region Hilfsfunktionen