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); }
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; }
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; }
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; }