public static ValidationProject CreateValidationProject(string name, string legalEntity) { ValidationProject validationProject = new ValidationProject(); validationProject.Name = name; validationProject.LegalEntity = legalEntity; return(validationProject); }
public HttpResponseMessage ValidateProject(int projectId, int connectionId = 0) { try { var project = _projectFactory.CreateProject(projectId); Connection connection; if (connectionId == 0) { connection = _dataRepository.ConnectionRepository .GetDataByProjectId(projectId) .FirstOrDefault(x => x.IsActive & x.IsDefault & x.ProjectId == projectId); if (connection != null) { connection.ConnectionProvider = _dataRepository.ConnectionProviderRepository.GetDataById(connection.ConnectionProviderId) .FirstOrDefault(); connectionId = connection.ConnectionId; } } else { connection = _connectionFactory.CreateConnection(connectionId); } var validationProject = new ValidationProject(_dataRepository, projectId); if (!validationProject.ValidateConnection(connectionId)) { throw new Exception(ConnectionNotValid); } foreach (var test in project.Tests) { validationProject.ValidationTests.Add(new ValidationTest(connection, test)); } foreach (var testGroup in project.TestGroups) { validationProject.ValidationTestGroups.Add(new ValidationTestGroup(connection, testGroup)); } var valCollection = validationProject.Validate(); PersistValidationResults(valCollection, null, projectId); return(Request.CreateResponse(HttpStatusCode.OK, validationProject)); } catch (Exception ex) { return (Request.CreateErrorResponse( ex.Message == ConnectionNotValid ? HttpStatusCode.BadRequest : HttpStatusCode.InternalServerError, new HttpError(ex.Message))); } }
public HttpResponseMessage ValidateGroup(int groupId, int connectionId = 0) { try { var testGroup = _testGroupFactory.CreateTestGroup(groupId); Connection connection; if (connectionId == 0) { connection = _dataRepository.ConnectionRepository .GetDataByProjectId(testGroup.ProjectId) .FirstOrDefault(x => x.IsActive & x.IsDefault & x.ProjectId == testGroup.ProjectId); if (connection != null) { connection.ConnectionProvider = _dataRepository.ConnectionProviderRepository.GetDataById(connection.ConnectionProviderId) .FirstOrDefault(); connectionId = connection.ConnectionId; } } else { connection = _connectionFactory.CreateConnection(connectionId); } var proj = new ValidationProject(_dataRepository, testGroup.ProjectId); if (!proj.ValidateConnection(connectionId)) { throw new Exception(ConnectionNotValid); } var valTestGroup = new ValidationTestGroup(connection, testGroup); var valCollection = valTestGroup.Validate(); PersistValidationResults(valCollection, groupId, null); return(Request.CreateResponse(HttpStatusCode.OK, valTestGroup)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, new HttpError(ex.Message))); } }
public HttpResponseMessage ValidateTest(int testId, int connectionId = 0) { var test = _testFactory.CreateTest(testId); var valProject = new ValidationProject(_dataRepository, test.ProjectId); Connection connection; if (connectionId == 0) { connection = _dataRepository.ConnectionRepository .GetDataByProjectId(test.ProjectId) .FirstOrDefault(x => x.IsActive & x.IsDefault & x.ProjectId == test.ProjectId); if (connection != null) { connection.ConnectionProvider = _dataRepository.ConnectionProviderRepository.GetDataById(connection.ConnectionProviderId) .FirstOrDefault(); connectionId = connection.ConnectionId; } } else { connection = _connectionFactory.CreateConnection(connectionId); } if (!valProject.ValidateConnection(connectionId)) { throw new Exception(ConnectionNotValid); } var valTest = new ValidationTest(connection, test); var valResult = new Collection <ValidationResponse> { valTest.Validate() }; PersistValidationResults(valResult, null, null); return(Request.CreateResponse(HttpStatusCode.OK, valResult)); }