diff options
Diffstat (limited to 'Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/ConsoleViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/ConsoleViewVM.cs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/ConsoleViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/ConsoleViewVM.cs new file mode 100644 index 000000000..fd1567e0d --- /dev/null +++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/ConsoleViewVM.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Console; +using Tango.FSE.Common; + +namespace Tango.FSE.PPCConsole.ViewModels +{ + public class ConsoleViewVM : FSEViewModel + { + private List<ConsoleSuggestion> _lastSuggestions; + + private ConsoleControlVM _consoleVM; + public ConsoleControlVM ConsoleVM + { + get { return _consoleVM; } + set { _consoleVM = value; RaisePropertyChangedAuto(); } + } + + public ConsoleViewVM() + { + _lastSuggestions = new List<ConsoleSuggestion>(); + ConsoleVM = new ConsoleControlVM(); + ConsoleVM.CommandExecuting += ConsoleVM_CommandExecuting; + ConsoleVM.Clear(); + } + + private async void ConsoleVM_CommandExecuting(object sender, ConsoleCommandExecutingEventArgs e) + { + try + { + var result = await MachineProvider.MachineOperator.SendGenericRequest<ConsoleCommandDTO, ConsoleCommandExecutionResult>(new ConsoleCommandDTO() + { + Command = e.Command.CommandText, + WorkingFolder = e.Command.WorkingFolder, + }); + _lastSuggestions = result.Suggestions; + e.Complete(result); + } + catch (Exception ex) + { + e.Complete(new ConsoleCommandExecutionResult() + { + Output = ex.FlattenMessage(), + WorkingFolder = e.Command.WorkingFolder, + Suggestions = _lastSuggestions + }); + } + } + } +} |
