protected void CheckSqlExecuteType(IConfigSqlInfo sqlInfo, ConfigSqlExecuteType type) { //如果为NotSure 或 当前执行的类型 那么就通过 if (!(sqlInfo.Type == ConfigSqlExecuteType.notsure || sqlInfo.Type == type)) { throw new ArgumentException($"The sql type [{_util.GetEnumDescription(sqlInfo.Type, true)}] is not executing type [{_util.GetEnumDescription(type, true)}]."); } }
public void Add(string tableName, string sqlName, IConfigSqlInfo sqlInfo) { var tconfig = _tableSqls.GetOrAdd(tableName, new ConfigTableInfo(tableName)); var modifier = AsModifiers(tconfig, tableName); modifier.AddSql(sqlName, sqlInfo); OnModified?.Invoke(); }
public SqlConfigExecutor(ISqlConfigManager sqlConfigMgr, DbContext db, string tableName, string sqlName, IConfigSqlInfo sqlInfo, IConfigTableInfo tableInfo, string sql, ISqlExecutor sqlExecutor, ISqlParamConverter sqlParamCvt, IEFCoreExtendUtility util) { _sqlConfigMgr = sqlConfigMgr; _db = db; _sqlInfo = sqlInfo; _tableName = tableName; _sqlName = sqlName; _tableInfo = tableInfo; _sql = sql; _sqlExecutor = sqlExecutor; _sqlParamCvt = sqlParamCvt; _util = util; }
public bool TryRemove(string tableName, string sqlName, out IConfigSqlInfo sqlInfo) { sqlInfo = null; IConfigTableInfo tconfig; if (TableSqlInfos.TryGetValue(tableName, out tconfig)) { var modifier = AsModifiers(tconfig, tableName); bool bRtn = modifier.TryRemoveSql(sqlName, out sqlInfo); if (bRtn) { OnModified?.Invoke(); } return(bRtn); } return(false); }
public object GetPolicy(IConfigSqlInfo sqlInfo, IConfigTableInfo tableInfo) { object tempPolicy = null; if (ParameterPolicy != null) { return(ParameterPolicy); } else if (sqlInfo.Policies?.TryGetValue(PolicyName, out tempPolicy) == true) { return(tempPolicy); } else if (tableInfo.Policies?.TryGetValue(PolicyName, out tempPolicy) == true) { return(tempPolicy); } else { return(GlobalPolicy); } }
/// <summary> /// 获取sql的配置信息 /// </summary> /// <param name="sqlConfig"></param> /// <param name="tableName"></param> /// <param name="sqlName"></param> /// <returns></returns> public static IConfigSqlInfo GetSqlInfo(this ISqlConfig sqlConfig, string tableName, string sqlName) { IConfigTableInfo table; if (sqlConfig.TableSqlInfos.TryGetValue(tableName, out table)) { IConfigSqlInfo sqlInfo = null; if (table.Sqls.TryGetValue(sqlName, out sqlInfo)) { return(sqlInfo); } else { throw new ArgumentException($"The key [{sqlName}] does not exist in the {nameof(IConfigSqlInfo)} collection.", nameof(sqlName)); } } else { throw new ArgumentException($"The key [{tableName}] does not exist in the {nameof(IConfigTableInfo)} collection.", nameof(tableName)); } }
public ISqlConfigExecutor Create(ISqlConfigManager sqlConfigMgr, DbContext db, string tableName, string sqlName, IConfigSqlInfo sqlInfo, IConfigTableInfo tableInfo, string sql) { return(new SqlConfigExecutor(sqlConfigMgr, db, tableName, sqlName, sqlInfo, tableInfo, sql, _sqlExecutor, _sqlParamCvt, _util)); }
/// <summary> /// 移除Table的sql /// </summary> /// <param name="info"></param> /// <param name="sqlName"></param> /// <param name="sqlInfo"></param> /// <returns></returns> public static bool TryRemoveSql(this IConfigTableInfoModifier info, string sqlName, out IConfigSqlInfo sqlInfo) { return(info.Sqls.DictTryRemove(sqlName, out sqlInfo)); }
/// <summary> /// 添加Table的sql /// </summary> /// <param name="sqlName"></param> /// <param name="sqlInfo"></param> public static void AddSql(this IConfigTableInfoModifier info, string sqlName, IConfigSqlInfo sqlInfo) { sqlName.CheckStringIsNullOrEmpty(nameof(sqlName)); sqlInfo.CheckNull(nameof(sqlInfo)); sqlInfo.Sql.CheckStringIsNullOrEmpty($"{nameof(sqlInfo)}.{nameof(sqlInfo.Sql)}"); info.Sqls.Add(sqlName, sqlInfo); }
/// <summary> /// 获取Table的配置信息 /// </summary> /// <param name="sqlConfig"></param> /// <param name="tableName"></param> /// <param name="sqlName"></param> /// <param name="sqlInfo"></param> /// <returns></returns> public static bool TryGetSqlInfo(this ISqlConfig sqlConfig, string tableName, string sqlName, out IConfigSqlInfo sqlInfo) { sqlInfo = null; IConfigTableInfo table; if (sqlConfig.TableSqlInfos.TryGetValue(tableName, out table)) { if (table.Sqls.TryGetValue(sqlName, out sqlInfo)) { return(true); } } return(false); }