Ejemplo n.º 1
0
        private void FilesListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            this.BodyFileRtb.IsEnabled = true;
            this.SaveFileBtn.IsEnabled = true;

            if (this.FilesListBox.SelectedItem != null)
            {
                var item = (FileModel)this.FilesListBox.SelectedItem;

                if (item.fileName != FileModel.DefaultFileName)
                {
                    this.NameFileTb.IsEnabled    = false;
                    this.DeleteFileDtn.IsEnabled = true;
                    this.NameFileTb.Text         = item.fileName;
                    JournalFileSystemController.AddInfo("Начало изменения существуещего файла");
                }
                else
                {
                    this.NameFileTb.IsEnabled    = true;
                    this.DeleteFileDtn.IsEnabled = false;
                    this.NameFileTb.Text         = string.Empty;
                    JournalFileSystemController.AddInfo("Начало создание нового файла");
                }

                TextRange textRange = new TextRange(this.BodyFileRtb.Document.ContentStart, this.BodyFileRtb.Document.ContentEnd);
                textRange.Text = item.body;
            }
        }
Ejemplo n.º 2
0
        private void SaveFileBtn_Click(object sender, RoutedEventArgs e)
        {
            if (this.FilesListBox.SelectedItem != null)
            {
                FileModel file = new FileModel();

                file.fileName = this.NameFileTb.Text;
                if (!string.IsNullOrEmpty(file.fileName))
                {
                    if (file.fileName != FileModel.DefaultFileName)
                    {
                        file.body = (new TextRange(this.BodyFileRtb.Document.ContentStart, this.BodyFileRtb.Document.ContentEnd)).Text;
                        if (FileSystem.Save(file))
                        {
                            JournalFileSystemController.AddInfo($"Файл {file.ToString()} успешно сохранён");
                        }
                        else
                        {
                            JournalFileSystemController.AddInfo($"Файл {file.ToString()} не сохранён");
                        }
                    }
                    else
                    {
                        MessageBoxHellpers.Error("Ошибка", "Недопустимое имя файла");
                    }
                }
                else
                {
                    MessageBoxHellpers.Error("Ошибка", "Поле 'Имя файла' обязательно для заполнения !");
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Обновляет ListBox на основе Журнала.
        /// </summary>
        /// <param name="filesListOld">Старый список.</param>
        /// <param name="journal">Журнал файловой системы.</param>
        public static void UpdateFileList(ObservableCollection <FileModel> filesListOld, JournalFileSystemController journal)
        {
            if (filesListOld.FirstOrDefault(x => x.fileName == FileModel.DefaultFileName) == null)
            {
                filesListOld.Add(new FileModel());
            }

            //Удаляем из ListBox удаленные из файловой системы файлы
            foreach (var file in journal.deleteFiles)
            {
                if (file.Value.fileName != FileModel.DefaultFileName)
                {
                    var item = filesListOld.FirstOrDefault(x => x.fileName == file.Value.fileName);
                    JournalFileSystemController.AddInfo($"Файл {item.ToString()} удален");
                    filesListOld.Remove(item);
                }
            }

            //Обновляем тела документов
            foreach (var file in journal.changeBodyFiles)
            {
                var item = filesListOld.FirstOrDefault(x => x.fileName == file.Value.fileName);
                if (item.body != file.Value.body)
                {
                    JournalFileSystemController.AddInfo($"Содержание файла {item.ToString()} изменено");
                }

                item.body = file.Value.body;
            }

            //Добавляем новые документы
            foreach (var file in journal.filesListNew)
            {
                filesListOld.Add(file);
                JournalFileSystemController.AddInfo($"Добавлен новый файл {file.ToString()}");
            }
        }