public async Task <IActionResult> EditData(string connectionName, string tableName, string id, int page, int tableRowIndx, string searchFields = "", string sortColumn = "", string sortDir = "") { var tableDataVM = new TableDataVM { TableList = await _util.GetTableList(connectionName), TableName = tableName, ConnectionName = connectionName }; tableDataVM.TableGroups = await _util.GetTableGroups(tableDataVM.TableList); var columnList = new List <TableColumnInfo>(); var tableDataDict = new PagedData { Data = new Dictionary <int, Row>() }; columnList = await _util.GetColumnInfo(connectionName, tableName); tableDataDict = await _util.GetTableDataList(columnList, connectionName, tableName, page); var row = tableDataDict.Data[tableRowIndx]; var tableColumnInfosJson = row.TableColumnInfosJson; var tablemetadata = await _util.GetTableMetadata(connectionName, tableName); tableDataVM.SequenceName = tablemetadata.SequenceName; tableDataVM.ColumnList = columnList; tableDataVM.TableDataList = tableDataDict; tableDataVM.RowData = await _util.GetRowData(connectionName, tableName, id, tableColumnInfosJson); tableDataVM.TableColumnInfosJson = tableColumnInfosJson; tableDataVM.SortColumn = sortColumn; tableDataVM.SortDir = sortDir; var searchFieldsArray = JsonConvert.DeserializeObject <List <SearchFieldInfo> >(searchFields); foreach (var field in searchFieldsArray) { tableDataVM.SearchValues[field.Name] = field.Value; } tableDataVM.SearchFields = searchFields; return(View(tableDataVM)); }
public async Task <IActionResult> AddConnection(CustomConnection connection) { var info = Request.Form["process"]; Console.WriteLine(info); if (info == "test") { var connectionString = Util.GetConnectionString(connection); var oconn = new OracleConnection(connectionString); oconn.Open(); oconn.Dispose(); ViewBag.ConnectionSuccess = "Connection Success"; return(View(connection)); } if (ModelState.IsValid) { var tableList = await _util.GetTableList(connection); var sequenceList = await _util.GetSequenceList(connection); foreach (var table in tableList) { var tablemetadata = await _util.GetTableMetadata(connection.Name, table); if (tablemetadata == null) { tablemetadata = new TableMetadata(); } tablemetadata.Connection = connection.Name; tablemetadata.TableName = table; tablemetadata.SequenceName = Util.FindBestMatch(table, sequenceList); if (tablemetadata.Id > 0) { _context.Update(tablemetadata); } else { _context.Add(tablemetadata); } } if (connection.Id > 0) { _context.Update(connection); } else { _context.Add(connection); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(connection)); }