/// <summary> /// 转换为数据库实体 /// </summary> /// <param name="dto">数据库数据传输对象</param> public static Database ToEntity2(this DatabaseDto dto) { if (dto == null) { return(new Database()); } return(new Database(dto.Id.ToGuid()) { UserId = dto.UserId, SolutionId = dto.SolutionId, ProjectId = dto.ProjectId, Code = dto.Code, Name = dto.Name, Addreviation = dto.Addreviation, DbType = dto.DbType, IsDeleted = dto.IsDeleted.SafeValue(), Version = dto.Version, CreationTime = dto.CreationTime, CreatorId = dto.CreatorId, LastModificationTime = dto.LastModificationTime, LastModifierId = dto.LastModifierId, Enabled = dto.Enabled.SafeValue(), SortId = dto.SortId, Note = dto.Note, }); }
public void GetDatabase_DatabaseServiceReturnsDatabase_ReturnsDatabaseDto() { // Arrange Database database = new Database { Name = "someDatabase", Tables = { { "firstTable", new Table() }, { "secondTable", new Table() } } }; DatabaseDto dbDto = new DatabaseDto { Name = database.Name, TableNames = database.Tables.Keys }; // Arrange - mock dbService this._dbServiceMock.Setup(s => s.GetDatabase(database.Name)) .Returns(database); // Arrange - create target DatabaseApiController target = new DatabaseApiController(this._dbServiceMock.Object); // Act IHttpActionResult actionResult = target.GetDatabase(database.Name); OkNegotiatedContentResult <DatabaseDto> contentResult = actionResult as OkNegotiatedContentResult <DatabaseDto>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(dbDto.Name, contentResult.Content.Name); Assert.AreEqual(dbDto.TableNames, contentResult.Content.TableNames); }
private async void WindowOnLoad() { _databaseInfo = await Task.Run(() => _sqlProxy.GetDatabaseData()); SourceName = _databaseInfo.SourceName; Tables = new ObservableCollection <TableDto>(_databaseInfo.Tables); Queries = new ObservableCollection <FileInfo>(FileManager.GetFileInfos("SQLQueries")); SelectedTable = Tables.FirstOrDefault(); }
public static DatabaseDto DatabaseDto(string name = null) { var dto = new DatabaseDto(); if (!string.IsNullOrEmpty(name)) { dto = dto.WithName(name); } return(dto); }
public DatabaseDto GetDatabaseData() { DatabaseDto databaseDto = null; Execute((proxy) => { databaseDto = proxy.GetDatabaseData() as DatabaseDto; }); return(databaseDto); }
public void GetDatabase_DatabaseServiceReturnsNull_ReturnsNull() { // Arrange string dbName = "testDatabase"; // Arrange - mock dbService this._dbServiceMock.Setup(s => s.GetDatabase(dbName)) .Returns((Database)null); // Arrange - create target DbWcfService target = new DbWcfService(this._dbServiceMock.Object); // Act DatabaseDto db = target.GetDatabase(dbName); // Assert Assert.IsNull(db); }
public BaseDto GetDatabaseData() { try { StringBuilder sb = new StringBuilder(); DatabaseDto databaseDto = new DatabaseDto(); databaseDto.SourceName = "PolitermUsers"; sb.Append("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES "); sb.Append("WHERE TABLE_NAME NOT LIKE '__MigrationHistory' "); sb.Append("ORDER BY(TABLE_NAME)"); List <string> tableNames; using (PolitermUsers db = new PolitermUsers()) { tableNames = db.Database.SqlQuery <string>(sb.ToString()).ToList(); sb.Clear(); foreach (var tableName in tableNames) { sb.AppendLine("SELECT COLUMN_NAME "); sb.AppendLine("FROM INFORMATION_SCHEMA.COLUMNS "); sb.AppendFormat("WHERE TABLE_NAME = '{0}'", tableName); databaseDto.Tables.Add(new TableDto { TableName = tableName, ColumnNames = db.Database.SqlQuery <string>(sb.ToString()).ToList() }); sb.Clear(); } } return(databaseDto); } catch (Exception ex) { throw new FaultException <Exception>(ex, ex.Message); } }
public IHttpActionResult GetDatabase(string dbName) { try { Database database = this._databaseService.GetDatabase(dbName); if (database == null) { return(this.NotFound()); } return(this.Ok(DatabaseDto.CreateFromDatabase(database))); } catch (ArgumentException) { return(this.BadRequest()); } catch (DbServiceException) { return(this.InternalServerError()); } }
public void GetDatabase_DatabaseServiceReturnsDatabase_ReturnsDatabaseDto() { // Arrange Database database = new Database { Name = "someDatabase", Tables = { { "firstTable", new Table() }, { "secondTable", new Table() } } }; // Arrange - mock dbService this._dbServiceMock.Setup(s => s.GetDatabase(database.Name)) .Returns(database); // Arrange - create target DbWcfService target = new DbWcfService(this._dbServiceMock.Object); // Act DatabaseDto dbDto = target.GetDatabase(database.Name); // Assert Assert.IsNotNull(dbDto); Assert.AreEqual(dbDto.Name, database.Name); Assert.AreEqual(dbDto.TableNames, database.Tables.Keys); }
private DatabaseDto GetTables(SqlConnection conn, DatabaseDto database) { var sqlCommand = $"SELECT TABLE_NAME FROM {database.Name}.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'"; using (var command = new SqlCommand(sqlCommand, conn)) { using (var dataReader = command.ExecuteReader()) { while (dataReader.Read()) { if (dataReader.FieldCount != 1) { throw new IndexOutOfRangeException($"Expected 3 fields, but was actually {dataReader.FieldCount}"); } if (!(dataReader[0] is string tableName)) { throw new InvalidDataException("Unable to convert table name to string"); } database = GetColumns(conn, database, DatabaseFactory.TableDto(tableName)); } } return(database); } }
private DatabaseDto GetColumns(SqlConnection conn, DatabaseDto database, TableDto table) { var sqlCommand = $"SELECT COLUMN_NAME, DATA_TYPE, ORDINAL_POSITION FROM {database.Name}.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName"; using (var command = new SqlCommand(sqlCommand, conn)) { command.Parameters.AddWithValue("@TableName", table.Name); using (var dataReader = command.ExecuteReader()) { var columns = new List <ColumnDto>(); while (dataReader.Read()) { if (dataReader.FieldCount != 3) { throw new IndexOutOfRangeException($"Expected 3 fields, but was actually {dataReader.FieldCount}"); } if (!(dataReader[0] is string columnName)) { throw new InvalidDataException("Unable to convert column name to string"); } if (!(dataReader[1] is string dataType)) { throw new InvalidDataException("Unable to convert column data type to string"); } if (!(dataReader[2] is int ordinalPosition)) { throw new InvalidDataException("Unable to convert column ordinal position to string"); } var column = DatabaseFactory.ColumnDto(columnName).WithDataType(dataType).WithOrdinalPosition(ordinalPosition); columns.Add(column); } table = table.WithColumns(columns); } return(database.AddTables(table)); } }
public DatabaseDto GetDatabase(string dbName) { Database database = this._databaseService.GetDatabase(dbName); return(database == null ? null : DatabaseDto.CreateFromDatabase(database)); }