Пример #1
0
        private void CancelEditTable()
        {
            _editHasUnsavedChanges = false;
            _tableEditViewModel    = null;

            OnPropertyChanged(nameof(EditingTable));
            OnPropertyChanged(nameof(IsEditingTable));
            OnPropertyChanged(nameof(HasUnsavedChanges));
        }
Пример #2
0
        private void EditTable(RandomTableViewModel tableModel)
        {
            if (tableModel != null)
            {
                _tableEditViewModel = new RandomTableEditViewModel(tableModel.RandomTableModel);
                _tableEditViewModel.PropertyChanged += _tableEditViewModel_PropertyChanged;

                OnPropertyChanged(nameof(EditingTable));
                OnPropertyChanged(nameof(IsEditingTable));
            }
        }
Пример #3
0
        private bool SaveEditTable()
        {
            bool saved = false;

            if (_tableEditViewModel.RandomTableModel != null)
            {
                _tableEditViewModel.RandomTableModel.Id = _selectedTable.RandomTableModel.Id;
                _compendium.UpdateTable(_tableEditViewModel.RandomTableModel);

                _selectedTable = new RandomTableViewModel(_tableEditViewModel.RandomTableModel);

                ListItemViewModel <RandomTableModel> oldListItem = _tables.FirstOrDefault(x => x.Model.Id == _tableEditViewModel.RandomTableModel.Id);
                if (oldListItem != null)
                {
                    if (_tableSearchService.SearchInputApplies(_tableSearchInput, _tableEditViewModel.RandomTableModel))
                    {
                        InitializeListItemDetails(oldListItem, _tableEditViewModel.RandomTableModel);
                    }
                    else
                    {
                        _tables.Remove(oldListItem);
                    }
                }

                _tableEditViewModel    = null;
                _editHasUnsavedChanges = false;

                SortTables();

                _compendium.SaveTables();

                OnPropertyChanged(nameof(SelectedTagOption));
                OnPropertyChanged(nameof(SelectedTable));
                OnPropertyChanged(nameof(EditingTable));
                OnPropertyChanged(nameof(IsEditingTable));
                OnPropertyChanged(nameof(HasUnsavedChanges));

                saved = true;
            }

            return(saved);
        }
Пример #4
0
        private void Add()
        {
            bool addTable = true;

            if (_tableEditViewModel != null)
            {
                if (_editHasUnsavedChanges)
                {
                    string body = String.Format("{0} has unsaved changes.{1}What would you like to do?",
                                                _selectedTable.Name, Environment.NewLine + Environment.NewLine);
                    string accept = "Save and Continue";
                    string reject = "Discard Changes";
                    string cancel = "Cancel Navigation";
                    bool?  result = _dialogService.ShowConfirmationDialog("Unsaved Changes", body, accept, reject, cancel);

                    if (result == true)
                    {
                        if (!SaveEditTable())
                        {
                            addTable = false;
                        }
                    }
                    else if (result == false)
                    {
                        CancelEditTable();
                    }
                    else
                    {
                        addTable = false;
                    }
                }
                else
                {
                    CancelEditTable();
                }
            }

            if (addTable)
            {
                RandomTableModel tableModel = new RandomTableModel();

                _compendium.AddTable(tableModel);

                if (_tableSearchService.SearchInputApplies(_tableSearchInput, tableModel))
                {
                    ListItemViewModel <RandomTableModel> listItem = new ListItemViewModel <RandomTableModel>(tableModel);
                    InitializeListItemDetails(listItem, tableModel);
                    _tables.Add(listItem);
                    foreach (ListItemViewModel <RandomTableModel> item in _tables)
                    {
                        item.IsSelected = false;
                    }
                    listItem.IsSelected = true;
                }

                _selectedTable = new RandomTableViewModel(tableModel);

                _tableEditViewModel = new RandomTableEditViewModel(tableModel);
                _tableEditViewModel.PropertyChanged += _tableEditViewModel_PropertyChanged;

                SortTables();

                _compendium.SaveTables();

                OnPropertyChanged(nameof(SelectedTagOption));
                OnPropertyChanged(nameof(EditingTable));
                OnPropertyChanged(nameof(IsEditingTable));
                OnPropertyChanged(nameof(SelectedTable));
            }
        }