Ejemplo n.º 1
0
 public ServiceControlAuditInformation()
 {
     AuditForwardingOptions = new[]
     {
         new ForwardingOption
         {
             Name  = "On",
             Value = true
         },
         new ForwardingOption
         {
             Name  = "Off",
             Value = false
         }
     };
     AuditRetention                = SettingConstants.AuditRetentionPeriodDefaultInHoursForUI;
     Description                   = "ServiceControl Audit";
     HostName                      = "localhost";
     AuditQueueName                = "audit";
     AuditForwardingQueueName      = "audit.log";
     AuditForwarding               = AuditForwardingOptions.First(p => !p.Value); //Default to Off.
     UseSystemAccount              = true;
     PortNumber                    = "44444";
     DatabaseMaintenancePortNumber = "44445";
 }
Ejemplo n.º 2
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 ServiceControlEditViewModel(ServiceControlInstance instance)
        {
            DisplayName   = "EDIT SERVICECONTROL INSTANCE";
            SelectLogPath = new SelectPathCommand(p => LogPath = p, isFolderPicker: true, defaultPath: LogPath);

            InstanceName = instance.Name;
            Description  = instance.Description;

            var userAccount = UserAccount.ParseAccountName(instance.ServiceAccount);

            UseSystemAccount  = userAccount.IsLocalSystem();
            UseServiceAccount = userAccount.IsLocalService();

            UseProvidedAccount = !(UseServiceAccount || UseSystemAccount);

            if (UseProvidedAccount)
            {
                ServiceAccount = instance.ServiceAccount;
            }

            HostName   = instance.HostName;
            PortNumber = instance.Port.ToString();
            DatabaseMaintenancePortNumber         = instance.DatabaseMaintenancePort.ToString();
            DatabaseMaintenancePortNumberRequired = instance.Version.Major >= 2;

            LogPath = instance.LogPath;

            AuditForwardingQueueName = instance.AuditLogQueue;
            AuditQueueName           = instance.AuditQueue;
            AuditForwarding          = AuditForwardingOptions.FirstOrDefault(p => p.Value == instance.ForwardAuditMessages);
            ErrorForwarding          = ErrorForwardingOptions.FirstOrDefault(p => p.Value == instance.ForwardErrorMessages);

            UpdateErrorRetention(instance.ErrorRetentionPeriod);
            UpdateAuditRetention(instance.AuditRetentionPeriod);

            ErrorQueueName           = instance.ErrorQueue;
            ErrorForwardingQueueName = instance.ErrorLogQueue;
            SelectedTransport        = Transports.First(t => StringComparer.InvariantCultureIgnoreCase.Equals(t.Name, instance.TransportPackage));
            ConnectionString         = instance.ConnectionString;
            ServiceControlInstance   = instance;

            ErrorForwardingVisible = instance.Version >= SettingsList.ForwardErrorMessages.SupportedFrom;

            //Both Audit and Error Retention Property was introduced in same version
            RetentionPeriodsVisible = instance.Version >= SettingsList.ErrorRetentionPeriod.SupportedFrom;
        }
Ejemplo n.º 4
0
        public ServiceControlAddViewModel()
        {
            DisplayName = "ADD SERVICECONTROL INSTANCE";

            SelectDestinationPath = new SelectPathCommand(p => DestinationPath = p, isFolderPicker: true, defaultPath: DestinationPath);
            SelectDatabasePath    = new SelectPathCommand(p => DatabasePath = p, isFolderPicker: true, defaultPath: DatabasePath);
            SelectLogPath         = new SelectPathCommand(p => LogPath = p, isFolderPicker: true, defaultPath: LogPath);

            var serviceControlInstances = InstanceFinder.ServiceControlInstances();

            if (!serviceControlInstances.Any())
            {
                InstanceName = "Particular.ServiceControl";
                PortNumber   = "33333";
                DatabaseMaintenancePortNumber = "33334";
            }
            else
            {
                var i = 0;
                while (true)
                {
                    InstanceName = $"Particular.ServiceControl.{++i}";
                    if (!serviceControlInstances.Any(p => p.Name.Equals(InstanceName, StringComparison.OrdinalIgnoreCase)))
                    {
                        break;
                    }
                }
            }

            AuditRetention           = SettingConstants.AuditRetentionPeriodDefaultInHoursForUI;
            ErrorRetention           = SettingConstants.ErrorRetentionPeriodDefaultInDaysForUI;
            Description              = "A ServiceControl Instance";
            HostName                 = "localhost";
            AuditQueueName           = "audit";
            AuditForwardingQueueName = "audit.log";
            AuditForwarding          = AuditForwardingOptions.First(p => !p.Value); //Default to Off.
            ErrorQueueName           = "error";
            ErrorForwardingQueueName = "error.log";
            ErrorForwarding          = ErrorForwardingOptions.First(p => !p.Value); //Default to Off.
            UseSystemAccount         = true;
        }