Example #1
0
        /// <summary>
        /// Gets the query condition.
        /// </summary>
        /// <returns></returns>
        public string GetQueryCondition(string alias, string ownerFilter, string aliasObjectName)
        {
            //const string param1 = ":ownername";
            //const string param2 = ":tablename";
            string param1 = OwnerNames == null ? null : "'" + string.Join("','", OwnerNames) + "'";
            string param2 = TableNames == null ? null : "'" + string.Join("','", TableNames) + "'";
            string param3 = ProcedureNames == null ? null : "'" + string.Join("','", ProcedureNames) + "'";


            DbParams.Clear();
            string        s    = string.Empty;
            List <string> tags = new List <string> {
                " ", " AND ", " AND "
            };

            List <string> conditions = new List <string>();

            if (OwnerNames != null && OwnerNames.Any())
            {
                DbParams.Add(OracleContext.Manager.CreateParameter(param1, ParameterDirection.Input, "'" + string.Join("','", OwnerNames) + "'"));
                conditions.Add(string.Format(alias + "." + ownerFilter + " IN (" + param1 + ")"));
            }
            if (TableNames != null && TableNames.Any())
            {
                DbParams.Add(OracleContext.Manager.CreateParameter(param2, ParameterDirection.Input, "'" + string.Join("','", TableNames) + "'"));
                conditions.Add(alias + ".TABLE_NAME IN (" + param2 + ")");
            }
            if (ProcedureNames != null && ProcedureNames.Any())
            {
                DbParams.Add(OracleContext.Manager.CreateParameter(param3, ParameterDirection.Input, "'" + string.Join("','", ProcedureNames) + "'"));
                conditions.Add(string.Format(alias + "." + aliasObjectName + " IN (" + param3 + ")"));
            }

            // additionner toutes les conditions dans la requete
            int i = 0;

            foreach (string cond in conditions)
            {
                s += (tags[i++] + cond);
            }

            return(s);
        }
Example #2
0
 /// <inheritdoc />
 public virtual bool HasTable(string tableName) => TableNames.Any(t => string.Equals(tableName, t, TableNameComparison));