public ActionResult AddCheck(string appName, string tableName, FormCollection fc) { DBApp app = new DBApp() { Name = appName, ConnectionString = (new Entities()).Database.Connection.ConnectionString }; DBTable table = app.GetTable(tableName); foreach (string checkConstraint in table.GetCheckConstraints()) //constraint name control in table { if (checkConstraint == "CHK_" + appName + "_" + tableName + "_" + fc["checkName"]) { TempData["message-error"] = "Check constraint with name " + checkConstraint + " is already exist."; return RedirectToAction("Index", new { @appName = appName }); } } int i = 0; Conditions con = new Conditions(new SqlQuery()); Condition_Operators ope = new Condition_Operators(con); Condition_concat concat = new Condition_concat(con); while (fc["column[" + i + "]"] != null) { DBColumn col = table.columns.SingleOrDefault(x => x.Name == fc["column[" + i + "]"]); object val = table.ConvertValue(col, fc["value[" + i + "]"]); con.column(col.Name); con.isCheck = true; if (i != 0) concat.and(); ope = table.GetConditionOperators(con, fc["conOperator[" + i + "]"], val); i++; } table.AddCheck(fc["checkName"], con); app.SaveChanges(); TempData["message-success"] = "Check constraint " + fc["checkName"] + " was successfully added into table " + tableName + "."; return RedirectToAction("Index", new { @appName = appName }); }
public ActionResult InsertSelect(string appName, string tableName, List<string> columnsA, List<string> columnsB, string tableB, FormCollection fc) { DBApp app = new DBApp() { Name = appName, ConnectionString = (new Entities()).Database.Connection.ConnectionString }; DBTable table = app.GetTable(tableName); Conditions con = new Conditions(new SqlQuery()); if (fc["conOperator[0]"] != "") { Condition_Operators ope = new Condition_Operators(con); Condition_concat concat = new Condition_concat(con); int i = 0; while (fc["column[" + i + "]"] != null) { DBColumn col = table.columns.SingleOrDefault(x => x.Name == fc["column[" + i + "]"]); object val = table.ConvertValue(col, fc["value[" + i + "]"]); con.column(col.Name); if (i != 0) concat.and(); ope = table.GetConditionOperators(con, fc["conOperator[" + i + "]"], val); i++; } } table.InsertSelect(columnsA, tableB, columnsB, con.ToString()); app.SaveChanges(); TempData["message-success"] = "Row(s) was successfully inserted."; return RedirectToAction("Data", new { @appName = appName, @tableName = tableName }); }