public DatabaseService( IDbDal databaseService, IGrpcModelMapper grpcModelMapper) { _databaseService = databaseService; _grpcModelMapper = grpcModelMapper; }
/// <summary> /// 导出 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnBuild_Click(object sender, EventArgs e) { _savePath = this.tbSavePath.Text; if (_savePath.IsNullOrWhiteSpace()) { this.ShowWarningDialog("没有设置导出目录"); return; } var templatePath = this.cbbTemplate.SelectedValue?.ToString(); if (templatePath.IsNullOrWhiteSpace()) { this.ShowWarningDialog("没有选择模板"); return; } var configIndex = this.cbbConfig.SelectedIndex; if (configIndex < 0) { this.ShowWarningDialog("没有选择配置"); return; } var configModel = jsonUtil.Items[configIndex]; var nameSpace = this.tbNameSapce.Text; if (nameSpace.IsNullOrWhiteSpace()) { this.ShowWarningDialog("没有添加命名空间"); return; } IDbDal dal = null; if (configModel.ConnType == ((int)DbBuildEntity.Util.Enums.DbType.SqlServer).ToString()) { dal = new SqlServerDal(); } else if (configModel.ConnType == ((int)DbBuildEntity.Util.Enums.DbType.Oracle).ToString()) { dal = new OracleDal(); } else if (configModel.ConnType == ((int)DbBuildEntity.Util.Enums.DbType.MySQL).ToString()) { } else if (configModel.ConnType == ((int)DbBuildEntity.Util.Enums.DbType.SQlite).ToString()) { dal = new SqliteDal(); } var tables = dal.GetTables(configModel.ConnString); int index = 0; if (Path.GetFileNameWithoutExtension(templatePath) != "实体枚举模板") { ShowStatus("提示", "导出实体中......", tables.Count, 0); foreach (var table in tables) { //StatusDescription = "导出实体中(" + index + "%)......"; StatusStepIt(); var columnsList = dal.GetColumnList(table.TableName, configModel.ConnString); foreach (var column in columnsList) { if (column.TypeName.Contains("varchar") || column.TypeName.Contains("VARCHAR")) { column.TypeName = "string"; } string value = string.Empty; var dResult = dbTypeDic.TryGetValue(column.TypeName.ToUpper(), out value); if (dResult) { column.TypeName = value; } else { column.TypeName = "object"; } } //var buildContent = RazorBuildUtil.GetBuildContent(templatePath, columnsList, table); var buildContent = RazorBuildUtil.GetBuildContentNew(templatePath, table.TableName, columnsList, table, nameSpace); FileUtil.Save(buildContent, Path.Combine(_savePath, $"{table.TableName}.cs")); index++; } } else { ShowStatus("提示", "加载数据中......", tables.Count, 0); List <TableModels> list = new List <TableModels>(); TableModels model = null; foreach (var table in tables) { //StatusDescription = "加载数据中(" + index + "%)......"; StatusStepIt(); var columnsList = dal.GetColumnList(table.TableName, configModel.ConnString); model = new TableModels(); model.Columns = columnsList; model.TableName = table.TableName; model.Description = table.Description; list.Add(model); index++; } var buildContent = RazorBuildUtil.GetBuildContent_Enum(templatePath, "TableNames", list, nameSpace, "TableNames"); FileUtil.Save(buildContent, Path.Combine(_savePath, "TableNames.cs")); } ConfigUtil.SetAppSettingValue("DefaultPath", _savePath, Global.nameSpaceConfigFullPath); UIMessageTip.ShowOk("导出成功", 2000, true); }
public DataBaseController(IDbDal dbDal) { _dataBase = dbDal; }