using System.Data; using Infrastructure; using Model; using Services; using Util; public class CopyData { public static void CopyOldData() { var apiService = App.GetService(); var db = initDb(); string sql = "select * from MyAppApi2 where DatabaseId in (select Id from MyDatabase where ProjectId=203) and SingleReqParam='new_mode2'"; var items = db.Ado.GetDataTable(sql); if(items.Rows.Count > 0) { foreach(DataRow item in items.Rows) { int id = item.Field("Id"); var apiInfo = apiService.GetById(id); string paramSql = "select * from ApiParam where ApiId=" + id + " and ParentId=0"; var paramItems = db.Ado.GetDataTable(paramSql); if(paramItems.Rows.Count > 0) { apiInfo.apiParam = new List(); foreach(DataRow paramItem in paramItems.Rows) { ApiParamObjectData(db, paramItem, id, apiInfo.apiParam); } apiService.Update(apiInfo); } } } } public static void ApiParamObjectData(SqlSugarClient db, DataRow paramItem, int apiId, List apiParam) { ApiParamObject param = new ApiParamObject(); param.id = paramItem.Field("Id"); param.fieldTitle = paramItem.Field("ColumnName"); param.fieldName = paramItem.Field("ColumnEnName"); param.fieldNameUpper = PublicFunction.transferName(paramItem.Field("ColumnEnName")); param.fieldNameFirstUpper = PublicFunction.transferName(paramItem.Field("ColumnEnName"), 1); param.fieldType = PublicFunction.transferName(paramItem.Field("ColumnType")); param.reqParam = paramItem.Field("ReqFlag") == 1; param.resParam = paramItem.Field("ResFlag") == 1; param.customFlag = paramItem.Field("Kind") != "sys"; param.sortMode = paramItem.Field("OrderBy") == 2 ? "desc" : paramItem.Field("OrderBy") == 1 ? "asc" : ""; param.fieldDetail = paramItem.Field("ColumnDetail"); param.linkTableId = paramItem.Field("LinkTableId"); param.resType = "字段值"; string paramSql = "select * from ApiParam where ApiId=" + apiId + " and ParentId=" + paramItem.Field("IdNum"); var subParamItems = db.Ado.GetDataTable(paramSql); if(subParamItems.Rows.Count > 0) { param.linkParam = new List(); foreach(DataRow subParamItem in subParamItems.Rows) { ApiParamObjectData(db, subParamItem, apiId, param.linkParam); } } apiParam.Add(param); } public static SqlSugarClient initDb() { //server=8.137.21.27;port=3306;user=root;password=S5jRutnCcGXZcRUZ;database=CodeMaker;charset=utf8; string server = "8.137.21.27"; int port = 3306; string user = "root"; string password = "S5jRutnCcGXZcRUZ"; string database = "CodeMaker"; var db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = "server=" + server + ";port=" + port + ";user=" + user + ";password=" + password + ";database=" + database + ";charset=utf8;", DbType = SqlSugar.DbType.MySql, IsAutoCloseConnection = true, }); return db; } }