public async Task <bool> Handle(Request request, CancellationToken cancellationToken) { if (request.ShowDialog || string.IsNullOrEmpty(_context.Session.FileName)) { var dialog = new SaveFileDialog("JSON|*.json"); if (_dialogService.ShowDialog(dialog) == DialogResult.OK) { _context.Session.FileName = dialog.FileName; } else { return(false); } } var save = new SaveWidget.Request { Widget = _context.Session.Widget, FileName = _context.Session.FileName, }; if (await _mediator.Send(save, cancellationToken).ConfigureAwait(false)) { _context.Session.IsDirty = false; return(true); } else { return(false); } }
public async Task SaveAndLoadWidgetTest() { var widget = new DemoHealthCheckWidget { Name = "Health Check" }; var writeRequest = new SaveWidget.Request { FileName = _tempFileName, Widget = widget }; var writeResponse = await _mediator.Send(writeRequest, CancellationToken.None); Assert.True(writeResponse); Assert.True(File.Exists(_tempFileName)); var readResponse = await _mediator.Send(new GetWidget.Request(_tempFileName), CancellationToken.None); Assert.NotNull(readResponse); Assert.Equal(widget.Id, readResponse.Id); Assert.Equal(widget.Name, readResponse.Name); }