using Microsoft.Azure.Management.AppService.Fluent; using Microsoft.Azure.Management.Fluent; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using Tango.AzureUtils.UI.Managers; using Tango.Core.DI; using Tango.Settings; using Tango.SharedUI; namespace Tango.AzureUtils.UI { public abstract class AzureDashboardViewModel : ViewModel { [TangoInject] public IStatusManager StatusManager { get; set; } public AzureUtilsSettings Settings { get; set; } public AzureDashboardViewModel() { Settings = SettingsManager.Default.GetOrCreate(); } public virtual void OnApplicationReady() { } public virtual void OnAuthenticated(IAzure azure, List apps) { } protected void ConfirmationHandler(object sender, AzureUtilsConfirmationEventArgs e) { if (MessageBox.Show(e.Message, "Confirmation Required", MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK) { e.Confirm(); } else { e.Cancel(); } } protected void RequireRefresh() { TangoIOC.Default.GetAllInstancesByBase().ToList().ForEach(x => x.OnRefreshRequired()); } protected virtual void OnRefreshRequired() { } public void ProgressHandler(object sender, AzureUtilsProgressEventArgs e) { StatusManager.UpdateStatus(e); } } }