From 5ee1f55497a4e30322a56f133f897ecde1612967 Mon Sep 17 00:00:00 2001 From: mo Date: Sun, 4 Nov 2018 15:22:16 -0700 Subject: initial commit. --- .../Model/Menu/File/Commands/ISaveCommand.cs | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/Notepad/Presentation/Model/Menu/File/Commands/ISaveCommand.cs (limited to 'src/Notepad/Presentation/Model/Menu/File/Commands/ISaveCommand.cs') diff --git a/src/Notepad/Presentation/Model/Menu/File/Commands/ISaveCommand.cs b/src/Notepad/Presentation/Model/Menu/File/Commands/ISaveCommand.cs new file mode 100644 index 0000000..ea7c396 --- /dev/null +++ b/src/Notepad/Presentation/Model/Menu/File/Commands/ISaveCommand.cs @@ -0,0 +1,27 @@ +using Notepad.Infrastructure.Core; +using Notepad.Presentation.Core; +using Notepad.Presentation.Presenters.Menu.File; +using Notepad.Tasks; + +namespace Notepad.Presentation.Model.Menu.File.Commands { + public interface ISaveCommand : ICommand {} + + public class SaveCommand : ISaveCommand { + private readonly IApplicationController controller; + private readonly IDocumentTasks tasks; + + public SaveCommand(IApplicationController controller, IDocumentTasks tasks) { + this.controller = controller; + this.tasks = tasks; + } + + public void Execute() { + if (!tasks.HasAPathToSaveToBeenSpecified()) { + controller.Run(); + } + else { + tasks.SaveTheActiveDocument(); + } + } + } +} \ No newline at end of file -- cgit v1.2.3