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);
 }
示例#3
0
 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:");
                    }
                }
            }
        }