public ElasticsearchSourceViewModel(IElasticsearchSourceModel elasticsearchSourceModel, IElasticsearchSourceDefinition elasticsearchServiceSource, IAsyncWorker asyncWorker, IServer currentEnvironment)
     : this(elasticsearchSourceModel)
 {
     VerifyArgument.IsNotNull(nameof(elasticsearchServiceSource), elasticsearchServiceSource);
     CurrentEnvironment = currentEnvironment ?? throw new ArgumentNullException(nameof(currentEnvironment));
     asyncWorker.Start(() => elasticsearchSourceModel.FetchSource(elasticsearchServiceSource.Id), source =>
     {
         _elasticsearchServiceSource      = source;
         _elasticsearchServiceSource.Path = elasticsearchServiceSource.Path;
         SetupHeaderTextFromExisting();
         ToItem();
         FromModel(elasticsearchServiceSource);
     });
 }
        public ElasticsearchSourceViewModel(IElasticsearchSourceModel elasticsearchSourceModel, IEventAggregator aggregator, IElasticsearchSourceDefinition elasticsearchServiceSource, IAsyncWorker asyncWorker, IExternalProcessExecutor executor, IServer currentEnvironment)
            : this(elasticsearchSourceModel, aggregator, asyncWorker, executor, currentEnvironment)
        {
            VerifyArgument.IsNotNull(nameof(elasticsearchServiceSource), elasticsearchServiceSource);

            AsyncWorker.Start(() => elasticsearchSourceModel.FetchSource(elasticsearchServiceSource.Id), source =>
            {
                _elasticsearchServiceSource      = source;
                _elasticsearchServiceSource.Path = elasticsearchServiceSource.Path;

                FromModel(_elasticsearchServiceSource);
                Item = ToSource();
                SetupHeaderTextFromExisting();
            });
        }
        ElasticsearchSourceViewModel(IElasticsearchSourceModel elasticsearchSourceModel)
            : base("ElasticsearchSource")
        {
            VerifyArgument.IsNotNull(nameof(elasticsearchSourceModel), elasticsearchSourceModel);

            _elasticsearchSourceModel = elasticsearchSourceModel;

            TestCommand       = new DelegateCommand(TestConnection, CanTest);
            OkCommand         = new DelegateCommand(SaveConnection, CanSave);
            CancelTestCommand = new DelegateCommand(CancelTest, CanCancelTest);

            Testing     = false;
            TestPassed  = false;
            TestFailed  = false;
            TestMessage = "";
        }
        public ElasticsearchSourceViewModel(IElasticsearchSourceModel elasticsearchSourceModel, Task <IRequestServiceNameViewModel> requestServiceNameViewModel, IServer currentEnvironment)
            : this(elasticsearchSourceModel)
        {
            VerifyArgument.IsNotNull(nameof(requestServiceNameViewModel), requestServiceNameViewModel);
            CurrentEnvironment          = currentEnvironment ?? throw new ArgumentNullException(nameof(currentEnvironment));
            _elasticsearchSourceModel   = elasticsearchSourceModel;
            RequestServiceNameViewModel = requestServiceNameViewModel;

            HeaderText  = Resources.Languages.Core.ElasticsearchNewHeaderLabel;
            Header      = Resources.Languages.Core.ElasticsearchNewHeaderLabel;
            HostName    = string.Empty;
            Port        = "9200";
            Username    = string.Empty;
            Password    = string.Empty;
            SearchIndex = string.Empty;
        }
 public ElasticsearchSourceViewModel(IElasticsearchSourceModel elasticsearchSourceModel, IEventAggregator aggregator, IAsyncWorker asyncWorker, IExternalProcessExecutor executor, IServer currentEnvironment)
     : base("ElasticsearchSource")
 {
     VerifyArgument.IsNotNull(nameof(executor), executor);
     VerifyArgument.IsNotNull(nameof(asyncWorker), asyncWorker);
     VerifyArgument.IsNotNull(nameof(elasticsearchSourceModel), elasticsearchSourceModel);
     VerifyArgument.IsNotNull(nameof(aggregator), aggregator);
     CurrentEnvironment        = currentEnvironment ?? throw new ArgumentNullException(nameof(currentEnvironment));
     AsyncWorker               = asyncWorker;
     Executor                  = executor;
     _elasticsearchSourceModel = elasticsearchSourceModel;
     _authenticationType       = AuthenticationType.Anonymous;
     _hostName                 = string.Empty;
     _port             = "9200";
     _password         = string.Empty;
     _searchIndex      = string.Empty;
     _username         = string.Empty;
     HeaderText        = Resources.Languages.Core.ElasticsearchNewHeaderLabel;
     Header            = Resources.Languages.Core.ElasticsearchNewHeaderLabel;
     TestCommand       = new DelegateCommand(TestConnection, CanTest);
     OkCommand         = new DelegateCommand(SaveConnection, CanSave);
     CancelTestCommand = new DelegateCommand(CancelTest, CanCancelTest);
 }
 public ElasticsearchSourceViewModel(IElasticsearchSourceModel elasticsearchSourceModel, Task <IRequestServiceNameViewModel> requestServiceNameViewModel, IEventAggregator aggregator, IAsyncWorker asyncWorker, IExternalProcessExecutor executor, IServer currentEnvironment)
     : this(elasticsearchSourceModel, aggregator, asyncWorker, executor, currentEnvironment)
 {
     VerifyArgument.IsNotNull(nameof(requestServiceNameViewModel), requestServiceNameViewModel);
     RequestServiceNameViewModel = requestServiceNameViewModel;
 }