73 lines
1.9 KiB
C#
73 lines
1.9 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using Jugenddienst_Stunden.Models;
|
|
using Jugenddienst_Stunden.Types;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Input;
|
|
|
|
namespace Jugenddienst_Stunden.ViewModels {
|
|
internal class StundeViewModel : ObservableObject, IQueryAttributable {
|
|
|
|
public int id { get; set; }
|
|
|
|
private Types.DayTime _stunde;
|
|
public DayTime Stunde { get => _stunde; }
|
|
|
|
public string Description {
|
|
get => _stunde.description;
|
|
set {
|
|
if (_stunde.description != value) {
|
|
_stunde.description = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
public string SubTitle { get; set; } = DateTime.Today.ToString("dddd, d. MMM. yyyy");
|
|
|
|
public int Identifier => (int)_stunde.id;
|
|
|
|
public ICommand SaveCommand { get; private set; }
|
|
public ICommand DeleteCommand { get; private set; }
|
|
|
|
|
|
public StundeViewModel() {
|
|
_stunde = new Types.DayTime();
|
|
//SaveCommand = new AsyncRelayCommand(Save);
|
|
//DeleteCommand = new AsyncRelayCommand(Delete);
|
|
}
|
|
|
|
public StundeViewModel(Types.DayTime stunde) {
|
|
_stunde = stunde;
|
|
|
|
//SaveCommand = new AsyncRelayCommand(Save);
|
|
//DeleteCommand = new AsyncRelayCommand(Delete);
|
|
}
|
|
|
|
//private async Task Save() {
|
|
// _stunde.Date = DateTime.Now;
|
|
// _stunde.Save();
|
|
// await Shell.Current.GoToAsync($"..?saved={_stunde.Filename}");
|
|
//}
|
|
|
|
//private async Task Delete() {
|
|
// _stunde.Delete();
|
|
// await Shell.Current.GoToAsync($"..?deleted={_stunde.Filename}");
|
|
//}
|
|
|
|
async void IQueryAttributable.ApplyQueryAttributes(IDictionary<string, object> query) {
|
|
if (query.ContainsKey("load")) {
|
|
//DateTime heute = DateTime.Now;
|
|
_stunde = await Models.Stunde.LoadEntry(Convert.ToInt32(query["load"]));
|
|
SubTitle = _stunde.day.ToString("dddd, d. MMM. yyyy");
|
|
OnPropertyChanged(nameof(Stunde));
|
|
OnPropertyChanged(nameof(SubTitle));
|
|
}
|
|
}
|
|
}
|
|
}
|