/// <summary> /// 根据模版获取生成的代码 /// </summary> public string GetByTable( string tableName, TemplateEntity templ ) { TableEntity table = service.GetTableByName(Project.ID.ToString(), tableName); CodeBuilderHost host = new CodeBuilderHost(); host.User = User; host.Columns = service.GetColumnList(table.ID.ToString()).ToList(); host.Project = Project; host.Table = table; host.FileExtension = templ.FileExtensions; host.TemplateFile = ""; //开始生成代码 Engine engine = new Engine(); //string input = File.ReadAllText(host.TemplateFile,Encoding.Default); string input = templ.Content; string outputText = engine.ProcessTemplate(input, host); //写入生成错误信息 foreach (CompilerError createError in host.Errors) { Error.AppendLine(createError.ToString()); } return(outputText); }
protected List <TableEntity> ReaderTables(List <TableInfo> tables) { List <TableEntity> entitys = new List <TableEntity>(); foreach (TableInfo table in tables) { //检测表是否存在 try { TableEntity tableEntity = service.GetTableByName(Project.ID.ToString(), table.TableName); if (tableEntity == null) { tableEntity = new TableEntity(); } tableEntity.TableName = table.TableName; tableEntity.Attr = table.Attr; tableEntity.Remark = table.Remark; tableEntity.ProjectID = Project.ID; tableEntity.Enabled = true; if (tableEntity.ID > 0) { service.UpdateTable(tableEntity); } else { tableEntity.ID = service.AddTable(tableEntity); } if (tableEntity.ID > 0) { entitys.Add(tableEntity); ReaderColumns(tableEntity, table.Columns); } } catch (Exception ex) { Error.AppendLine("读取数据表—" + table.TableName + "出错!" + ex.Message); continue; } } return(entitys); }
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) { var checkeds = e.Argument as List <string>; List <string> nonDelete = new List <string>(); CodeBuilderService service = ServiceHelper.GetCodeBuilderService(); int i = 0; foreach (var tableName in checkeds) { i++; backgroundWorker.ReportProgress(i); bool result = false; try { TableEntity table = service.GetTableByName(Global.GetCurrentProjectID(), tableName); if (table != null) { result = service.DeleteTable(table.ID.ToString()); } } catch (Exception ex) { result = false; } if (!result) { nonDelete.Add(tableName); } else { SuccessCount++; } } if (nonDelete.Count > 0) { StringBuilder sb = new StringBuilder(); sb.AppendLine("删除失败的表如下:"); sb.AppendLine(string.Join(",", nonDelete.ToArray())); Utils.ShowErrorDialog(sb.ToString()); } }