public MainViewModel() { Homeworks.Add(new Homework { Name = "Ukol1", Date = new DateTime(2020, 3, 27), Subject = Subject.PRG, IsDone = false }); Homeworks.Add(new Homework { Name = "Ukol2", Date = new DateTime(2020, 3, 28), Subject = Subject.CJL, IsDone = false }); Add = new RelayCommand( () => { Homeworks.Add(new Homework { Name = "Nový úkol" }); }, () => true ); Remove = new RelayCommand( () => { Homeworks.Remove(SelectedHomework); }, () => { return(SelectedHomework != null); } ); Load = new RelayCommand( async() => { try { string serializedSourceText = await Windows.Storage.FileIO.ReadTextAsync(File); Homeworks = JsonSerializer.Deserialize <ObservableCollection <Homework> >(serializedSourceText); } catch (Exception ex) { var messageDialog = new MessageDialog("Error: " + ex.Message); // vyhození dialogu odsud není ideální, ale funguje await messageDialog.ShowAsync(); } }, () => true ); Save = new RelayCommand( async() => { try { string serializedData = JsonSerializer.ToJsonString(Homeworks); await Windows.Storage.FileIO.WriteTextAsync(File, serializedData); /* pokusně přes stream * var stream = await File.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); * using (var outputStream = stream.GetOutputStreamAt(0)) * { * using (var dataWriter = new Windows.Storage.Streams.DataWriter(outputStream)) * { * dataWriter.WriteString(JsonSerializer.ToJsonString(_students)); * await dataWriter.StoreAsync(); * await outputStream.FlushAsync(); * } * } * stream.Dispose(); */ } catch (Exception ex) { var messageDialog = new MessageDialog("Error: " + ex.Message); await messageDialog.ShowAsync(); } }, () => true ); }
public void Remove(string teacher, string name, string start, string end) { Homeworks h = new Homeworks(); h.Remove(h.Homework.Single(hw => hw.Teacher == teacher && hw.Name == name && hw.Start == start.Replace('-', '/').Replace('.', ':') && hw.End == end.Replace('-', '/').Replace('.', ':'))); }