aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Modules/Tango.FSE.PPCConsole/ViewModels/ConsoleViewVM.cs
diff options
context:
space:
mode:
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.cs53
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
+ });
+ }
+ }
+ }
+}