using Infrastructure; using Infrastructure.Extensions; using Microsoft.Extensions.Configuration; using OpenAuth.BaseApp; using OpenAuth.App.CodeTable; using OpenAuth.App.Request; using OpenAuth.App.FormScheme.FormHelpers; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OpenAuth.Auth.Interface; using static Dm.net.buffer.ByteArrayBuffer; namespace OpenAuth.App.DbTable { public class DbTableApp : SqlSugarBaseApp { private IConfiguration _configuration; public DbTableApp(ISugarUnitOfWork unitWork, ISimpleClient repository, IConfiguration configuration) : base(unitWork, repository, null) { _configuration = configuration; } /// /// 创建表信息 /// /// 数据库编码 /// 数据表信息 /// public Response AddTable(string dbcode, DbTableReq dbTableReq) { if (dbTableReq.DbColumnInfoList == null || !dbTableReq.DbColumnInfoList.Any()) throw new Exception("请添加数据列"); return null; //if (dbTableReq.DbColumnInfoList == null || !dbTableReq.DbColumnInfoList.Any()) // throw new Exception("请添加数据列"); //using (var db = this.CodeClient(dbcode, _configuration)) //{ // var typeBuilder = db.DynamicBuilder().CreateClass(dbTableReq.TableName, new SugarTable() { TableName = dbTableReq.TableName, TableDescription = dbTableReq.Description }); // dbTableReq.DbColumnInfoList.ForEach(u => // { // typeBuilder.CreateProperty(u.DbColumnName, typeof(string), new SugarColumn() // { // IsPrimaryKey = u.IsPrimarykey == 1, // IsIdentity = u.IsIdentity == 1, // ColumnDataType = u.DataType, // Length = u.Length, // IsNullable = u.IsNullable == 1, // DecimalDigits = u.DecimalDigits, // ColumnDescription = u.ColumnDescription, // }); // }); // db.CodeFirst.InitTables(typeBuilder.BuilderType()); // return new Response() // { // Code = 200, // Result = true, // Message = "创建成功" // }; //} } /// /// 创建字段 /// /// 数据库编码 /// 表字段 /// public Response AddColumn(string dbcode, DbColumnInput dbColumnInput) { return null; //using (var db = this.CodeClient(dbcode, _configuration)) //{ // var column = new DbColumnInfo // { // ColumnDescription = dbColumnInput.ColumnDescription, // DbColumnName = dbColumnInput.DbColumnName, // IsIdentity = dbColumnInput.IsIdentity == 1, // IsNullable = dbColumnInput.IsNullable == 1, // IsPrimarykey = dbColumnInput.IsPrimarykey == 1, // Length = dbColumnInput.Length, // DecimalDigits = dbColumnInput.DecimalDigits, // DataType = dbColumnInput.DataType // }; // db.DbMaintenance.AddColumn(dbColumnInput.TableName, column); // db.DbMaintenance.AddColumnRemark(dbColumnInput.DbColumnName, dbColumnInput.TableName, dbColumnInput.ColumnDescription); // if (column.IsPrimarykey) // db.DbMaintenance.AddPrimaryKey(dbColumnInput.TableName, dbColumnInput.DbColumnName); // return new Response() // { // Code = 200, // Result = true, // Message = "创建成功" // }; //} } } }