public void insertReportColumnDefinition() { var newcolumn = new REPORTCOLUMNDEFINITION() { }; using (var cmadb = new CMAEntities()) { var reportList = cmadb.REPORTDEFINITIONs.Where(r => r.ID > 30000).ToList(); var reportColumnDefinitions = new List <REPORTCOLUMNDEFINITION>(); foreach (var reportdefinition in reportList) { using (var srdb = new SRDBEntities()) { var tableConfig = srdb.TABLE_CONFIG.FirstOrDefault(x => x.TABLENAMEEN.ToLower() == reportdefinition.TABLE_NAME.ToLower()); var columnsCn = tableConfig.FIELDNAMESARRCN.Split(';'); var columnsEn = tableConfig.FIELDNAMESARREN.Split(';'); var columnsTypes = tableConfig.FIELDTYPESARR.Split(';'); if (columnsCn.Length == columnsEn.Length && columnsCn.Length == columnsTypes.Length) { for (int i = 0; i < columnsCn.Length; i++) { if (string.IsNullOrEmpty(columnsCn[i])) { continue; } var column = new Column() { ColumnName = columnsEn[i], ColumnHeaderCN = columnsCn[i], ColumnHeaderEN = columnsEn[i], ColumnType = columnsTypes[i] }; var reportColumnDefinition = new REPORTCOLUMNDEFINITION(); reportColumnDefinition.COLUMN_INDEX = i; reportColumnDefinition.COLUMN_NAME = columnsEn[i]; reportColumnDefinition.COLUMN_TYPE = columnsTypes[i] == "number" ? "decimal" : null; reportColumnDefinition.HEADER_TEXT_CN = columnsCn[i]; reportColumnDefinition.HEADER_TEXT_EN = columnsEn[i]; reportColumnDefinition.REPORT_ID = reportdefinition.ID; reportColumnDefinitions.Add(reportColumnDefinition); //System.InvalidOperationException: 表/视图没有定义主键。实体为只读 //cmadb.REPORTCOLUMNDEFINITIONs.Add(reportColumnDefinition); } } } //Console.WriteLine(cmadb.SaveChanges()); } foreach (var reportcolumndefinition in reportColumnDefinitions) { //Console.WriteLine(JsonConvert.SerializeObject(reportcolumndefinition)); Console.WriteLine("INSERT INTO REPORTCOLUMNDEFINITION (REPORT_ID,COLUMN_INDEX,COLUMN_NAME,COLUMN_TYPE,HEADER_TEXT_CN,HEADER_TEXT_EN) " + "VALUES({0},{1},'{2}','{3}',N'{4}','{5}');", reportcolumndefinition.REPORT_ID, reportcolumndefinition.COLUMN_INDEX, reportcolumndefinition.COLUMN_NAME, reportcolumndefinition.COLUMN_TYPE, reportcolumndefinition.HEADER_TEXT_CN, reportcolumndefinition.HEADER_TEXT_EN); } } }
public static string FormatCellValue(DataRow row, REPORTCOLUMNDEFINITION column) { var retValue = string.Empty; if (row.Table.Columns.Contains(column.COLUMN_NAME)) { var dataValue = row[column.COLUMN_NAME]; retValue = FormatCellValue(dataValue, column.COLUMN_TYPE, column.DISPLAY_FORMAT); } return(retValue); }
public static string AppendTextAlgin(REPORTCOLUMNDEFINITION column) { var retValue = string.Empty; switch (column.COLUMN_TYPE) { case "datetime": case "text": retValue = "class=\"textLeft\""; break; } return(retValue); }