public SmtpNotificationChannelDefinitionsViewModelFactory(SmtpNotificationChannelDefinitionViewModelFactory factory, IDialogCoordinator dialogCoordinator, IEventAggregator eventAggregator, INotifiableEventPublisher eventPublisher) : base(factory)
 {
     this.factory           = factory;
     this.dialogCoordinator = dialogCoordinator;
     this.eventAggregator   = eventAggregator;
     this.eventPublisher    = eventPublisher;
 }
예제 #2
0
 public EmailViewModel(EmailOptions model, RandomNumberGenerator rng, INotifiableEventPublisher eventPublisher)
 {
     this.model       = model;
     this.rng         = rng;
     this.DisplayName = "Email";
     eventPublisher.Register(this);
 }
예제 #3
0
 public JitConfigurationViewModel(JitConfigurationOptions jitOptions, IDialogCoordinator dialogCoordinator, IDirectory directory, IJitGroupMappingViewModelFactory groupMappingFactory, INotifiableEventPublisher eventPublisher, IJitDomainStatusViewModelFactory jitDomainStatusFactory, IServiceSettingsProvider serviceSettings)
 {
     this.dialogCoordinator      = dialogCoordinator;
     this.directory              = directory;
     this.jitOptions             = jitOptions;
     this.groupMappingFactory    = groupMappingFactory;
     this.jitDomainStatusFactory = jitDomainStatusFactory;
     this.serviceSettings        = serviceSettings;
     this.eventPublisher         = eventPublisher;
     this.DisplayName            = "Just-in-time access";
     this.GroupMappings          = new BindableCollection <JitGroupMappingViewModel>();
     this.Domains = new BindableCollection <JitDomainStatusViewModel>();
 }
예제 #4
0
        public RateLimitsViewModel(RateLimitOptions model, INotifiableEventPublisher eventPublisher)
        {
            this.model = model;
            if (this.model.PerUser == null)
            {
                this.model.PerUser = new RateLimitThresholds();
            }

            if (this.model.PerIP == null)
            {
                this.model.PerIP = new RateLimitThresholds();
            }

            eventPublisher.Register(this);
        }
        public AuthenticationViewModel(AuthenticationOptions model, ILogger <AuthenticationViewModel> logger, INotifiableEventPublisher eventPublisher, IDialogCoordinator dialogCoordinator, IX509Certificate2ViewModelFactory x509ViewModelFactory, RandomNumberGenerator rng, IDirectory directory)
        {
            this.model                = model;
            this.dialogCoordinator    = dialogCoordinator;
            this.x509ViewModelFactory = x509ViewModelFactory;
            this.logger               = logger;
            this.rng            = rng;
            this.directory      = directory;
            this.eventPublisher = eventPublisher;

            this.DisplayName = "Authentication";

            model.Iwa ??= new IwaAuthenticationProviderOptions();
            model.Oidc ??= new OidcAuthenticationProviderOptions();
            model.WsFed ??= new WsFedAuthenticationProviderOptions();
            model.ClientCert ??= new CertificateAuthenticationProviderOptions();
            model.ClientCert.TrustedIssuers ??= new List <string>();
            model.ClientCert.RequiredEkus ??= new List <string>();
            model.AllowedPrincipals ??= new List <string>();

            this.TrustedIssuers    = new BindableCollection <X509Certificate2ViewModel>();
            this.RequiredEkus      = new BindableCollection <string>(model.ClientCert.RequiredEkus);
            this.AllowedPrincipals = new BindableCollection <SecurityIdentifierViewModel>();
        }
        public NotificationChannelSelectionViewModel(AuditNotificationChannels model, INotificationSubscriptionProvider subscriptionProvider, IEventAggregator eventAggregator, INotifiableEventPublisher eventPublisher)
        {
            this.Model = model;

            this.SuccessSubscriptions = subscriptionProvider.GetSubscriptions(this.Model.OnSuccess);
            this.FailureSubscriptions = subscriptionProvider.GetSubscriptions(this.Model.OnFailure);

            this.AvailableSuccessSubscriptions = new BindableCollection <SubscriptionViewModel>(subscriptionProvider.Subscriptions.Except(this.SuccessSubscriptions));
            this.AvailableFailureSubscriptions = new BindableCollection <SubscriptionViewModel>(subscriptionProvider.Subscriptions.Except(this.FailureSubscriptions));

            eventAggregator.Subscribe(this);
            eventPublisher.Register(this);
        }
 public SecurityDescriptorTargetsViewModel(IList <SecurityDescriptorTarget> model, SecurityDescriptorTargetViewModelFactory factory, IDialogCoordinator dialogCoordinator, INotifiableEventPublisher eventPublisher)
 {
     this.factory           = factory;
     this.Model             = model;
     this.DialogCoordinator = dialogCoordinator;
     this.ViewModels        = new BindableCollection <SecurityDescriptorTargetViewModel>(this.Model.Select(factory.CreateViewModel));
     eventPublisher.Register(this);
 }
예제 #8
0
 public SecurityDescriptorTargetsViewModelFactory(IDialogCoordinator dialogCoordinator, SecurityDescriptorTargetViewModelFactory factory, INotifiableEventPublisher eventPublisher)
 {
     this.dialogCoordinator = dialogCoordinator;
     this.factory           = factory;
     this.eventPublisher    = eventPublisher;
 }
예제 #9
0
        public HostingViewModel(HostingOptions model, IDialogCoordinator dialogCoordinator, IServiceSettingsProvider serviceSettings, ILogger <HostingViewModel> logger, IModelValidator <HostingViewModel> validator, IAppPathProvider pathProvider, INotifiableEventPublisher eventPublisher, ICertificateProvider certProvider)
        {
            this.logger            = logger;
            this.pathProvider      = pathProvider;
            this.OriginalModel     = model;
            this.certProvider      = certProvider;
            this.dialogCoordinator = dialogCoordinator;
            this.serviceSettings   = serviceSettings;
            this.Validator         = validator;

            this.WorkingModel           = this.CloneModel(model);
            this.Certificate            = this.GetCertificate();
            this.OriginalCertificate    = this.Certificate;
            this.ServiceAccount         = this.serviceSettings.GetServiceAccount();
            this.OriginalServiceAccount = this.ServiceAccount;
            this.ServiceStatus          = this.serviceSettings.ServiceController.Status.ToString();
            this.DisplayName            = "Web hosting";

            eventPublisher.Register(this);
        }
예제 #10
0
 public IpDetectionViewModel(ForwardedHeadersAppOptions model, IDialogCoordinator dialogCoordinator, INotifiableEventPublisher eventPublisher)
 {
     this.DisplayName       = "IP address detection";
     this.model             = model;
     this.dialogCoordinator = dialogCoordinator;
     this.model.KnownNetworks ??= new List <string>();
     this.model.KnownProxies ??= new List <string>();
     this.KnownProxies  = new BindableCollection <string>(model.KnownProxies);
     this.KnownNetworks = new BindableCollection <string>(model.KnownNetworks);
     eventPublisher.Register(this);
 }
예제 #11
0
        public UserInterfaceViewModel(UserInterfaceOptions model, IDialogCoordinator dialogCoordinator, IAppPathProvider appPathProvider, INotifiableEventPublisher eventPublisher, ILogger <UserInterfaceViewModel> logger)
        {
            this.appPathProvider   = appPathProvider;
            this.dialogCoordinator = dialogCoordinator;
            this.logger            = logger;
            this.model             = model;
            this.DisplayName       = "User interface";
            model.PhoneticSettings ??= new PhoneticSettings();

            eventPublisher.Register(this);
        }
 public WebhookNotificationChannelDefinitionsViewModel(IList <WebhookNotificationChannelDefinition> model, WebhookNotificationChannelDefinitionViewModelFactory factory, IDialogCoordinator dialogCoordinator, IEventAggregator eventAggregator, INotifiableEventPublisher eventPublisher) :
     base(model, factory, dialogCoordinator, eventAggregator, eventPublisher)
 {
 }
예제 #13
0
 public UserInterfaceViewModel(UserInterfaceOptions model, IDialogCoordinator dialogCoordinator, IAppPathProvider appPathProvider, INotifiableEventPublisher eventPublisher, ILogger <UserInterfaceViewModel> logger)
 {
     this.appPathProvider   = appPathProvider;
     this.dialogCoordinator = dialogCoordinator;
     this.logger            = logger;
     this.model             = model;
     this.LoadImage();
     eventPublisher.Register(this);
 }
 protected NotificationChannelDefinitionsViewModel(IList <TModel> model, NotificationChannelDefinitionViewModelFactory <TModel, TViewModel> factory, IDialogCoordinator dialogCoordinator, IEventAggregator eventAggregator, INotifiableEventPublisher eventPublisher)
 {
     this.factory           = factory;
     this.Model             = model;
     this.EventAggregator   = eventAggregator;
     this.DialogCoordinator = dialogCoordinator;
     this.ViewModels        = new BindableCollection <TViewModel>(this.Model.Select(t => this.factory.CreateViewModel(t)));
     eventPublisher.Register(this);
 }
예제 #15
0
 public NotificationChannelSelectionViewModelFactory(INotificationSubscriptionProvider subscriptionProvider, IEventAggregator eventAggregator, INotifiableEventPublisher eventPublisher)
 {
     this.subscriptionProvider = subscriptionProvider;
     this.eventAggregator      = eventAggregator;
     this.eventPublisher       = eventPublisher;
 }