Exemplo n.º 1
0
        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
                );
        }
Exemplo n.º 2
0
        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('.', ':')));
        }