public ServiceControlAuditEditViewModel(ServiceControlAuditInstance instance) { DisplayName = "EDIT SERVICECONTROL AUDIT INSTANCE"; ServiceControlInstance = instance; ServiceControlAudit.UpdateFromInstance(instance); SelectedTransport = instance.TransportPackage; ConnectionString = instance.ConnectionString; }
public void UpdateInstanceFromViewModel(ServiceControlAuditInstance instance) { instance.HostName = ServiceControlAudit.HostName; instance.Port = Convert.ToInt32(ServiceControlAudit.PortNumber); instance.LogPath = ServiceControlAudit.LogPath; instance.AuditLogQueue = ServiceControlAudit.AuditForwardingQueueName; instance.AuditQueue = ServiceControlAudit.AuditQueueName; instance.AuditRetentionPeriod = ServiceControlAudit.AuditRetentionPeriod; instance.ForwardAuditMessages = ServiceControlAudit.AuditForwarding.Value; instance.ConnectionString = ConnectionString; instance.DatabaseMaintenancePort = Convert.ToInt32(ServiceControlAudit.DatabaseMaintenancePortNumber); }
public void UpdateFromInstance(ServiceControlAuditInstance instance) { SetupServiceAccount(instance); InstanceName = instance.Name; Description = instance.Description; HostName = instance.HostName; PortNumber = instance.Port.ToString(); DatabaseMaintenancePortNumber = instance.DatabaseMaintenancePort.ToString(); LogPath = instance.LogPath; AuditForwardingQueueName = instance.AuditLogQueue; AuditQueueName = instance.AuditQueue; AuditForwarding = AuditForwardingOptions.FirstOrDefault(p => p.Value == instance.ForwardAuditMessages); UpdateAuditRetention(instance.AuditRetentionPeriod); }
public static PsAuditInstance FromInstance(ServiceControlAuditInstance instance) => new PsAuditInstance { Name = instance.Name, Url = instance.Url, HostName = instance.HostName, Port = instance.Port, DatabaseMaintenancePort = instance.DatabaseMaintenancePort, InstallPath = instance.InstallPath, LogPath = instance.LogPath, DBPath = instance.DBPath, TransportPackageName = instance.TransportPackage.Name, ConnectionString = instance.ConnectionString, AuditQueue = instance.AuditQueue, AuditLogQueue = instance.AuditLogQueue, ForwardAuditMessages = instance.ForwardAuditMessages, ServiceAccount = instance.ServiceAccount, Version = instance.Version, AuditRetentionPeriod = instance.AuditRetentionPeriod, ServiceControlQueueAddress = instance.ServiceControlQueueAddress };
async Task UpgradeAuditInstance(InstanceDetailsViewModel model, ServiceControlAuditInstance instance, ServiceControlUpgradeOptions upgradeOptions) { using (var progress = model.GetProgressObject($"UPGRADING {model.Name}")) { var reportCard = new ReportCard(); var restartAgain = model.IsRunning; var stopped = await model.StopService(progress); if (!stopped) { eventAggregator.PublishOnUIThread(new RefreshInstances()); reportCard.Errors.Add("Failed to stop the service"); reportCard.SetStatus(); windowManager.ShowActionReport(reportCard, "ISSUES UPGRADING INSTANCE", "Could not upgrade instance because of the following errors:"); return; } reportCard = await Task.Run(() => serviceControlAuditInstaller.Upgrade(instance, upgradeOptions, progress)); if (reportCard.HasErrors || reportCard.HasWarnings) { windowManager.ShowActionReport(reportCard, "ISSUES UPGRADING INSTANCE", "Could not upgrade instance because of the following errors:", "There were some warnings while upgrading the instance:"); return; } if (restartAgain) { var serviceStarted = await model.StartService(progress); if (!serviceStarted) { reportCard.Errors.Add("The Service failed to start. Please consult the ServiceControl logs for this instance"); windowManager.ShowActionReport(reportCard, "UPGRADE FAILURE", "Instance reported this error after upgrade:"); } } } }