public CloudExplorer() { InitializeComponent(); this.DataContext = new CloudExplorerViewModel(); this.Unloaded += (s, e) => Messenger.Default.Unregister(this); Messenger.Default.Register <NotificationMessageAction <bool> >( this, message => { if (message.Notification.Equals(Messages.AddCloud)) { var view = new Views.AddCloud(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); Messenger.Default.Register <NotificationMessageAction <bool> >( this, message => { if (message.Notification.Equals(Messages.PushApp)) { var view = new Views.Push(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); Messenger.Default.Register <NotificationMessageAction <bool> >( this, message => { if (message.Notification.Equals(Messages.UpdateApp)) { var view = new Views.Update(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); Messenger.Default.Register <NotificationMessageAction <bool> >( this, message => { if (message.Notification.Equals(Messages.Progress)) { var view = new Views.ProgressDialog(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); }
public CloudExplorer() { InitializeComponent(); this.DataContext = new CloudExplorerViewModel(); this.Unloaded += (s,e) => Messenger.Default.Unregister(this); Messenger.Default.Register<NotificationMessageAction<bool>>( this, message => { if (message.Notification.Equals(Messages.AddCloud)) { var view = new Views.AddCloud(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); Messenger.Default.Register<NotificationMessageAction<bool>>( this, message => { if (message.Notification.Equals(Messages.PushApp)) { var view = new Views.Push(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); Messenger.Default.Register<NotificationMessageAction<bool>>( this, message => { if (message.Notification.Equals(Messages.UpdateApp)) { var view = new Views.Update(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); Messenger.Default.Register<NotificationMessageAction<bool>>( this, message => { if (message.Notification.Equals(Messages.Progress)) { var view = new Views.ProgressDialog(); Window parentWindow = Window.GetWindow(this); view.Owner = parentWindow; var result = view.ShowDialog(); message.Execute(result.GetValueOrDefault()); } }); }
private void PushApplication(object sender, EventArgs e) { Project project = vsMonitorSelection.GetActiveProject(); if (project != null) { var cloudGuid = GetCurrentCloudGuid(project); var projectDirectories = GetProjectDirectories(project); Messenger.Default.Register<NotificationMessageAction<Guid>>(this, message => { if (message.Notification.Equals(Messages.SetPushAppData)) message.Execute(cloudGuid); }); Messenger.Default.Register<NotificationMessageAction<string>>(this, message => { if (message.Notification.Equals(Messages.SetPushAppDirectory)) message.Execute(projectDirectories.DeployFromPath); }); var window = new Push(); var helper = new WindowInteropHelper(window); helper.Owner = (IntPtr)(dte.MainWindow.HWnd); var result = window.ShowDialog(); if (result.GetValueOrDefault()) { PushViewModel modelData = null; Messenger.Default.Send(new NotificationMessageAction<PushViewModel>(Messages.GetPushAppData, model => modelData = model)); SetCurrentCloudGuid(project, modelData.SelectedCloud.ID); List<string> services = new List<string>(); foreach (var provisionedService in modelData.ApplicationServices) services.Add(provisionedService.Name); PerformAction("Push Application", project, modelData.SelectedCloud, projectDirectories, (c, d) => c.Push(modelData.Name, modelData.Url, Convert.ToUInt16(modelData.Instances), d, Convert.ToUInt32(modelData.SelectedMemory), services.ToArray())); } } }