public ArchitectureConsoleViewModel() { AddModuleCommand = new DelegateCommand(obj => { PrepareCommand(string.Format("AddModule {0}", "value?")); }); RemoveModuleCommand = new DelegateCommand(obj => { PrepareCommand(string.Format("RemoveModule {0}", "value?")); }); ViewModuleCommand = new DelegateCommand(obj => { PrepareCommand(string.Format("ViewModule {0}", "value?")); }); ExecuteCommand = new DelegateCommand(obj => { ConsoleLine = ConsoleLines.Last(); ConsoleLine.Status = CommandStatus.None; _subscription.SubscribeFirstPublication(Messages.COMMAND_PROCESSED, OnProcessed); MessageBus.Instance.Publish(Messages.COMMAND_LINE_SUBMITTED, ConsoleLine.Content); }); ModuleDefinitionCommand = new DelegateCommand(obj => { MessageBus.Instance.Publish(Global.Messages.REQUEST_MODULES_VIEW, SelectedLayer); }); _subscription.SubscribeFirstPublication(Global.Messages.REQUEST_ARCHITECTURE_DEPENDENCIES_COMPLETED, obj => { var dependencies = obj as ArchitectureDependencies; _services = dependencies.Services; }); _subscription.Subscribe(Global.Messages.REQUEST_ARCHITECTURE_VIEWMODEL, obj => MessageBus.Instance.Publish(Global.Messages.REQUEST_ARCHITECTURE_VIEWMODEL_COMPLETED, this)); ConsoleLine = new ConsoleLine(); ConsoleLines.Add(ConsoleLine); }
private void OnProcessed(object obj) { var commandContext = obj as CommandContext; if (commandContext.Status == CommandStatus.Succeeded) { var currentConsoleLine = ConsoleLine; currentConsoleLine.Status = commandContext.Status; ConsoleLine = new ConsoleLine(); ConsoleLines.Add(ConsoleLine); } else { ConsoleLines.Last().Status = CommandStatus.Failed; } }
public void PrepareCommand(string commandText) { var consoleLine = new ConsoleLine() { Content = commandText }; ConsoleLines[ConsoleLines.Count - 1] = consoleLine; }