public SecurityDescriptorTargetViewModel(SecurityDescriptorTarget model, SecurityDescriptorTargetViewModelDisplaySettings displaySettings, INotificationChannelSelectionViewModelFactory notificationChannelFactory, IFileSelectionViewModelFactory fileSelectionViewModelFactory, IAppPathProvider appPathProvider, ILogger <SecurityDescriptorTargetViewModel> logger, IDialogCoordinator dialogCoordinator, IModelValidator <SecurityDescriptorTargetViewModel> validator, IDirectory directory, IDomainTrustProvider domainTrustProvider, IDiscoveryServices discoveryServices, ILocalSam localSam, IObjectSelectionProvider objectSelectionProvider, ScriptTemplateProvider scriptTemplateProvider, IAmsLicenseManager licenseManager, IShellExecuteProvider shellExecuteProvider)
        {
            this.directory                  = directory;
            this.Model                      = model;
            this.logger                     = logger;
            this.dialogCoordinator          = dialogCoordinator;
            this.notificationChannelFactory = notificationChannelFactory;
            this.Validator                  = validator;
            this.domainTrustProvider        = domainTrustProvider;
            this.discoveryServices          = discoveryServices;
            this.localSam                   = localSam;
            this.displaySettings            = displaySettings ?? new SecurityDescriptorTargetViewModelDisplaySettings();
            this.objectSelectionProvider    = objectSelectionProvider;
            this.scriptTemplateProvider     = scriptTemplateProvider;
            this.licenseManager             = licenseManager;
            this.shellExecuteProvider       = shellExecuteProvider;

            this.Script = fileSelectionViewModelFactory.CreateViewModel(model, () => model.Script, appPathProvider.ScriptsPath);
            this.Script.DefaultFileExtension = "ps1";
            this.Script.Filter           = "PowerShell script|*.ps1";
            this.Script.NewFileContent   = this.scriptTemplateProvider.GetAuthorizationResponse;
            this.Script.ShouldValidate   = false;
            this.Script.PropertyChanged += Script_PropertyChanged;
            this.Initialization          = this.Initialize();
        }
 public SecurityDescriptorTargetViewModelFactory(IDialogCoordinator dialogCoordinator, IAppPathProvider appPathProvider, INotificationChannelSelectionViewModelFactory channelSelectionViewModelFactory, IFileSelectionViewModelFactory fileSelectionViewModelFactory, ILogger <SecurityDescriptorTargetViewModel> logger)
 {
     this.dialogCoordinator = dialogCoordinator;
     this.appPathProvider   = appPathProvider;
     this.channelSelectionViewModelFactory = channelSelectionViewModelFactory;
     this.fileSelectionViewModelFactory    = fileSelectionViewModelFactory;
     this.logger = logger;
 }
 public ImportWizardRuleSettingsViewModel(INotificationChannelSelectionViewModelFactory notificationChannelFactory, ILogger <ImportWizardRuleSettingsViewModel> logger, IDialogCoordinator dialogCoordinator, IModelValidator <ImportWizardRuleSettingsViewModel> validator, IDirectory directory, IObjectSelectionProvider objectSelectionProvider, IShellExecuteProvider shellExecuteProvider)
 {
     this.directory                  = directory;
     this.logger                     = logger;
     this.dialogCoordinator          = dialogCoordinator;
     this.notificationChannelFactory = notificationChannelFactory;
     this.Validator                  = validator;
     this.objectSelectionProvider    = objectSelectionProvider;
     this.shellExecuteProvider       = shellExecuteProvider;
     this.Initialization             = this.Initialize();
 }
Example #4
0
 public AuditingViewModel(AuditOptions model,
                          INotificationChannelDefinitionsViewModelFactory <PowershellNotificationChannelDefinition, PowershellNotificationChannelDefinitionViewModel> psFactory,
                          INotificationChannelDefinitionsViewModelFactory <SmtpNotificationChannelDefinition, SmtpNotificationChannelDefinitionViewModel> smtpFactory,
                          INotificationChannelDefinitionsViewModelFactory <WebhookNotificationChannelDefinition, WebhookNotificationChannelDefinitionViewModel> whFactory,
                          INotificationChannelSelectionViewModelFactory notificationChannelSelectionViewModelFactory
                          )
 {
     this.model       = model;
     this.psFactory   = psFactory;
     this.smtpFactory = smtpFactory;
     this.whFactory   = whFactory;
     this.notificationChannelSelectionViewModelFactory = notificationChannelSelectionViewModelFactory;
     this.DisplayName = "Auditing";
 }
Example #5
0
        public SecurityDescriptorTargetViewModel(SecurityDescriptorTarget model, INotificationChannelSelectionViewModelFactory notificationChannelFactory, IFileSelectionViewModelFactory fileSelectionViewModelFactory, IAppPathProvider appPathProvider, ILogger <SecurityDescriptorTargetViewModel> logger, IDialogCoordinator dialogCoordinator)
        {
            this.directory         = new ActiveDirectory();
            this.Model             = model;
            this.logger            = logger;
            this.dialogCoordinator = dialogCoordinator;

            this.Script = fileSelectionViewModelFactory.CreateViewModel(model, () => model.Script, appPathProvider.ScriptsPath);
            this.Script.DefaultFileExtension = "ps1";
            this.Script.Filter         = "PowerShell script|*.ps1";
            this.Script.NewFileContent = ScriptTemplates.AuthorizationScriptTemplate;
            this.Script.ShouldValidate = false;
            this.Notifications         = notificationChannelFactory.CreateViewModel(model.Notifications);
        }
Example #6
0
 public SecurityDescriptorTargetViewModelFactory(IDialogCoordinator dialogCoordinator, IAppPathProvider appPathProvider, INotificationChannelSelectionViewModelFactory channelSelectionViewModelFactory, IFileSelectionViewModelFactory fileSelectionViewModelFactory, ILogger <SecurityDescriptorTargetViewModel> logger, IDiscoveryServices discoveryServices, IDomainTrustProvider domainTrustProvider, IDirectory directory, ILocalSam localsam, IObjectSelectionProvider objectSelectionProvider, Func <IModelValidator <SecurityDescriptorTargetViewModel> > validator, ScriptTemplateProvider scriptTemplateProvider, IAmsLicenseManager licenseManager, IShellExecuteProvider shellExecuteProvider)
 {
     this.dialogCoordinator = dialogCoordinator;
     this.appPathProvider   = appPathProvider;
     this.channelSelectionViewModelFactory = channelSelectionViewModelFactory;
     this.fileSelectionViewModelFactory    = fileSelectionViewModelFactory;
     this.logger                  = logger;
     this.directory               = directory;
     this.discoveryServices       = discoveryServices;
     this.domainTrustProvider     = domainTrustProvider;
     this.localSam                = localsam;
     this.objectSelectionProvider = objectSelectionProvider;
     this.validator               = validator;
     this.scriptTemplateProvider  = scriptTemplateProvider;
     this.licenseManager          = licenseManager;
     this.shellExecuteProvider    = shellExecuteProvider;
 }
Example #7
0
 public PowershellNotificationChannelDefinitionViewModelFactory(IAppPathProvider appPathProvider, INotificationChannelSelectionViewModelFactory channelSelectionViewModelFactory, IFileSelectionViewModelFactory fileSelectionViewModelFactory, IModelValidator <PowershellNotificationChannelDefinitionViewModel> validator)
 {
     this.appPathProvider = appPathProvider;
     this.fileSelectionViewModelFactory = fileSelectionViewModelFactory;
     this.validator = validator;
 }