public EnvironmentViewModel(EnvironmentsViewModel environmentsViewModel,
     IEnvironmentService environmentService,
     EnvironmentData environmentData)
 {
     _environmentsViewModel = environmentsViewModel;
     _environmentService = environmentService;
     EnvironmentData = environmentData;
     AddEnvironmentCommand = new DelegateCommand(AddEnvironment);
     RemoveEnvironmentCommand = new DelegateCommand(RemoveEnvironment);
     UpdateStatusCommand = new DelegateCommand(UpdateStatus);
     AvailableDatabaseTypes = _environmentsViewModel.AvailableDatabaseTypes;
     UpdateStatus(null);
 }
Exemplo n.º 2
0
        public EnvironmentState GetStateOf(EnvironmentData environmentData)
        {
            var state = new EnvironmentState();
            var databaseState = _databaseService.GetDatabaseState(environmentData);
            state.DatabaseStatus = databaseState.Status;
            state.DatabaseVersion = databaseState.Version;

            var applicationState = _applicationService.GetApplicationState(environmentData);
            state.ApplicationStatus = applicationState.Status;
            state.ApplicationVersion = applicationState.Version;

            return state;
        }
Exemplo n.º 3
0
        public DatabaseState GetDatabaseState(EnvironmentData environmentData)
        {
            var state = new DatabaseState();
            if (environmentData.DatabaseType == null || environmentData.DatabaseType.Equals("none"))
            {
                state.Status = "N/A";
                state.Version = "N/A";
                return state;
            }

            var credentials = new DatabaseCredentials
            {
                DatabaseType = environmentData.DatabaseType,
                Host = environmentData.DatabaseHost,
                Database = environmentData.DatabaseName,
                Username = environmentData.DatabaseUsername,
                Password = environmentData.DatabasePassword,
                IntegratedSecurity = environmentData.IntegratedSecurity
            };

            state.Status = _provider.TestConnection(credentials);

            if (credentials.IsValid)
            {
                try
                {
                    using (var repo = _provider.GetVersionRepo(credentials))
                    {
                        state.Version = repo.GetVersion().ToString();
                    }
                }
                catch (Exception e)
                {
                    state.Version = "No SchemaInfo";
                }
            }
            else
            {
                state.Status = "Invalid credentials";
            }

            return state;
        }
Exemplo n.º 4
0
        public ApplicationState GetApplicationState(EnvironmentData environmentData)
        {
            var state = new ApplicationState();
            if (environmentData.Url.IsNullOrEmpty())
            {
                state.Status = "N/A";
                state.Version = "N/A";
                return state;
            }

            if (environmentData.HasValidUrl)
            {
                try
                {
                    var request = WebRequest.Create(environmentData.Url);
                    var response = (HttpWebResponse)request.GetResponse();
                    if (response != null)
                    {
                        state.Status = response.StatusCode.ToString("D");
                    }
                }
                catch(WebException e)
                {
                    var response = (HttpWebResponse) e.Response;
                    state.Status = response != null ?
                        response.StatusCode.ToString("D") :
                        e.Message;
                }
                catch (Exception e)
                {
                    state.Status = e.GetType().Name + ": " +  e.Message;
                }
            }
            else
            {
                state.Status = "Invalid url";
            }
            return state;
        }