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