Beispiel #1
0
 public DatabaseService(
     IDbDal databaseService,
     IGrpcModelMapper grpcModelMapper)
 {
     _databaseService = databaseService;
     _grpcModelMapper = grpcModelMapper;
 }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
 public DataBaseController(IDbDal dbDal)
 {
     _dataBase = dbDal;
 }