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)); }