internal LogEntry(ActionsManager actionsManager, string creator, string name) : base(actionsManager, creator, name) { StatusHelper.ValueChanged += UpdateStatus; ProgressHelper.ValueChanged += UpdateStatus; //UpdateStatus(); }
public Logs() { ModuleObject = new ModuleObject( "Logs", this, CanSaveHelper ); InitializeComponent(); ActionsManager = new ActionsManager( "" ) { Dispatcher = this.Dispatcher }; ActionsManager.ActionEntryFactory = (creator,name)=> { return new LogEntry(ActionsManager, creator, name); }; lstLogs.Items.Clear(); lstLogs.ItemsSource = ActionsManager.ActionEntries; lstLogs.SelectionChanged += ES.SelectionChanged( lstLogs_SelectionChanged ); ActionsManager.ActionStatusChanged += (actionEntry)=> { lstLogs.Items.Refresh(); }; }
public void Init(ActionsManager actionsManager, string creator, IValueHelper<string> connectionStringValueHelper) { System.Diagnostics.Debug.Assert( Creator == null, "Init() should be called only once!" ); Creator = creator; ActionsManager = actionsManager; IsConnectionOkHelper = new ValueHelper<bool>{ Value = false }; ConnectionString_ValueChangedActionDelayer = new ActionHelper(); bool hadInitialConnectionString; if( string.IsNullOrEmpty(connectionStringValueHelper.Value) ) { // Fill control with initial values connectionStringValueHelper.Value = ConnectionStringHelper.SampleConnectionString; hadInitialConnectionString = false; } else { hadInitialConnectionString = true; } ConnectionStringHelper = new Utils.Event.ConnectionStringHelper( connectionStringValueHelper ); // Link Show Password CheckBox cbShowPassword.Checked += ES.Routed( cbShowPassword_Changed ); cbShowPassword.Unchecked += ES.Routed( cbShowPassword_Changed ); cbShowPassword_Changed(); // Link TextBoxes to ConnectionStringHelper txtServer.Text = Server; ConnectionStringHelper.ServerHelper.ValueChanged += ()=>{ txtServer.Text = Server; }; txtServer.TextChanged += ES.TextChanged( ()=>{ Server = txtServer.Text; } ); txtDatabase.Text = Database; ConnectionStringHelper.DatabaseHelper.ValueChanged += ()=>{ txtDatabase.Text = Database; }; txtDatabase.TextChanged += ES.TextChanged( ()=>{ Database = txtDatabase.Text; } ); txtUser.Text = User; ConnectionStringHelper.UserHelper.ValueChanged += ()=>{ txtUser.Text = User; }; txtUser.TextChanged += ES.TextChanged( ()=>{ User = txtUser.Text; } ); txtPasswordClear.Text = txtPasswordHidden.Password = txtPasswordConfirm.Password = Password; ConnectionStringHelper.PasswordHelper.ValueChanged += ()=> { var password = Password; txtPasswordClear.Text = password; if( txtPasswordHidden.Password != password ) txtPasswordHidden.Password = password; if( txtPasswordConfirm.Password != password ) txtPasswordConfirm.Password = password; }; txtPasswordClear.TextChanged += (sender,e)=>{ Password = txtPasswordClear.Text; }; txtPasswordHidden.PasswordChanged += ES.Routed( txtPasswordHiddenConfirm_PasswordChanged ); txtPasswordConfirm.PasswordChanged += ES.Routed( txtPasswordHiddenConfirm_PasswordChanged ); // Monitor ConnectionString changes txtConnectionString.Text = ConnectionStringHelper.GetConnectionStringWithoutPassword( PasswordHideString ); ConnectionString_ValueChangedActionDelayer.Action = ConnectionString_ValueChangedDelayed; ConnectionStringHelper.ValueHelper.ValueChanged += ConnectionString_ValueChanged; if( hadInitialConnectionString ) // Try connection right now if a ConnectionString is already available ConnectionString_ValueChangedActionDelayer.Trigger(); // Set delay on the ConnectionString's ActionHelper ConnectionString_ValueChangedActionDelayer.DelaySeconds = 1; }
public void Init(ActionsManager actionsManager, string creator) { Init( actionsManager, creator, new ValueHelper<string>() ); }
public void Init(ActionsManager actionsManager, string creator, string webAppFriendlyName) { System.Diagnostics.Debug.Assert( Creator == null, "Init() should be called only once!" ); Creator = creator; ActionsManager = actionsManager; WebAppFriendlyName = webAppFriendlyName; Action checkPhysicalPath = ()=>CheckPhysicalPathEntry = ActionsManager.AppendAction( Creator, "Checking physical path", CheckPhysicalPath ); Action loadWebsites = ()=>ActionsManager.AppendAction( Creator, "Load website list", LoadWebsites ); Action loadVirtualDirectories = ()=>ActionsManager.AppendAction( Creator, "Load IIS virtual directories list", LoadVirtualDirectories ); // Launch initialization actions loadWebsites(); // Will append action LoadVirtualDirectories checkPhysicalPath(); // Bind controls btnBrowsePath.Click += ES.Routed( btnBrowsePath_Click ); txtPhysicalPath.TextChanged += ES.TextChanged( ()=> { imgStatus.Source = CommonLibs.Resources.WPF_SetupGui_UserControls_IISWebApplication.ImageRunning; txtPhysicalPath_Delayer.Trigger(); } ); txtPhysicalPath_Delayer.Action = checkPhysicalPath; txtPhysicalPath_Delayer.DelaySeconds = 1; PhysicalPathHelper.ValueChanged += ES.Action( loadVirtualDirectories ); ddWebSites.SelectionChanged += ES.SelectionChanged( loadVirtualDirectories ); //ddVirtualDirs.TextChanged += ddVirtualDirs_TextChanged; <= NB: Done in XAML btnReplace.Click += ES.Routed( ()=>ActionsManager.AppendAction(Creator, "Replacing the existing virtual directory", btnReplace_Click) ); btnCreate.Click += ES.Routed( ()=>ActionsManager.AppendAction(Creator, "Creating a new virtual directory", btnCreate_Click) ); btnRemove.Click += ES.Routed( ()=>ActionsManager.AppendAction(Creator, "Remove existing virtual directory", btnRemove_Click) ); }