public async Task Process(DataSource.Entities.DataSource dataSource) { var uploadProcess = DataSourceUploadProcess.Create(dataSource.Id); uploadProcess.Id = await _uploadProcessRepository.Create(uploadProcess); await _dataSourceRepository.Create(dataSource); await _dataSourceRepository.Save(dataSource.Id, dataSource.Value); uploadProcess.State = DataSourceUploadProcess.DataSourceUploadProcessState.FileStored; await _uploadProcessRepository.Update(uploadProcess); dataSource.Schema = _schemaGenerator.Generate(dataSource); uploadProcess.State = DataSourceUploadProcess.DataSourceUploadProcessState.SchemaGenerated; await _uploadProcessRepository.Update(uploadProcess); await _dataSourceRepository.Update(dataSource); uploadProcess.State = DataSourceUploadProcess.DataSourceUploadProcessState.Done; await _uploadProcessRepository.Update(uploadProcess); }
/// <summary> /// Create a new data source for the provided projectId /// </summary> public void Create(int projectId, DataSource dataSource) { _dataSourceRepository.Create(projectId, dataSource.Name, dataSource.Description, dataSource.DataConnectionInfoId); }