private async void OK_Pressed(RoutedEventArgs e) { Cancel = false; try { Data.Boilerplate bp = new Data.Boilerplate(); bp.Text = _bp.Text; bp.Title = _bp.Title; bp.Save(); } catch (Exception ex) { Exception = ex; } finally { await _dialogCoordinator.HideMetroDialogAsync(Context, Dialog); ((MainViewModel)Context).UpdateBoilerplate(_bp); } }
public async void UpdateBoilerplate(Data.Boilerplate bp) { BoilerplateEditorViewModel bpdc = (BoilerplateEditorViewModel)_boilerplate_dialog.DataContext; if (!bpdc.Cancel && bpdc.Exception == null) { BoilerplateAnswer bpa = BoilerplateAnswers.FirstOrDefault(item => item.Title.Equals(bp.Title)); if (bpa == null) { BoilerplateAnswers.Add(new BoilerplateAnswer(bp, () => { boilerPlateSelected(bp); })); } else { // this won't update the text in the datagrid though... bpa.Text = bp.Text; bpa.Title = bp.Title; } } if (bpdc.Exception != null) { await _dialogCoordinator.ShowMessageAsync(this, "Add Boilerplate Answer", "Unable to save: " + bpdc.Exception.Message); } }
public BoilerplateAnswer(Data.Boilerplate b, Action a) { MenuAction = a; _boilerplate = b; }
private void boilerPlateSelected(Data.Boilerplate item) { var msg = new SendBoilerplateMessage(item.Text); Messenger.Default.Send <SendBoilerplateMessage>(msg); }