internal InstallerScriptableClrMethod(string name, string schemaName, InstallerScriptableSqlAssembly sqlAssembly, Type containedType, MethodInfo method) { Name = name; SchemaName = schemaName; ContainedType = containedType; Method = method; SqlAssembly = sqlAssembly; }
internal static InstallerScriptableItem GetScreiptableItem( SqlInstallerScriptGeneratorExportedAttributeBase attributeInfo, InstallerScriptableSqlAssembly sqlAssembly, MemberInfo declaredItem) { InstallerScriptableItem item = null; if (attributeInfo is SqlInstallerScriptGeneratorExportedFunction && declaredItem is MethodInfo) { item = new InstallerScriptableSqlFunction(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly, (MethodInfo)declaredItem); } if (attributeInfo is SqlInstallerScriptGeneratorExportedProcedure && declaredItem is MethodInfo) { item = new InstallerScriptableSqlProcedure(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly, (MethodInfo)declaredItem); } if (item == null) throw new ArgumentOutOfRangeException(nameof(attributeInfo), "unexpected type of attribute"); return item; }
internal static InstallerScriptableItem GetScreiptableItem( SqlInstallerScriptGeneratorExportedAttributeBase attributeInfo, InstallerScriptableSqlAssembly sqlAssembly, MemberInfo declaredItem) { InstallerScriptableItem item = null; if (attributeInfo is SqlInstallerScriptGeneratorExportedFunction && declaredItem is MethodInfo) { item = new InstallerScriptableSqlFunction(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly, (MethodInfo)declaredItem); } if (attributeInfo is SqlInstallerScriptGeneratorExportedProcedure && declaredItem is MethodInfo) { item = new InstallerScriptableSqlProcedure(attributeInfo.Name, attributeInfo.SchemaName, sqlAssembly, (MethodInfo)declaredItem); } if (item == null) { throw new ArgumentOutOfRangeException(nameof(attributeInfo), "unexpected type of attribute"); } return(item); }
public InstallerScriptableSqlProcedure(string name, string schemaName, InstallerScriptableSqlAssembly sqlSqlAssembly, MethodInfo method) : base(name, schemaName, sqlSqlAssembly, method.DeclaringType, method) { _exportedProcedureAttribute = method.GetCustomAttribute<SqlInstallerScriptGeneratorExportedProcedure>(); _sqlProcedureAttribute = method.GetCustomAttribute<SqlProcedureAttribute>(); }
private void IterateScriptableItemsInsideAssembly(Assembly asm, Action<InstallerScriptableItem> action) { var sqlAssembly = new InstallerScriptableSqlAssembly(asm); foreach (var method in asm.GetTypes().SelectMany(k => k.GetMembers()).Where(k => k.GetCustomAttributes(false) .Any(l => l is SqlInstallerScriptGeneratorExportedAttributeBase)) .OrderBy(k => k.Name)) { var attribute = method.GetCustomAttribute<SqlInstallerScriptGeneratorExportedAttributeBase>(); var scriptableItem = InstallerScriptableItem.GetScreiptableItem(attribute, sqlAssembly, method); action(scriptableItem); } }
public InstallerScriptableSqlProcedure(string name, string schemaName, InstallerScriptableSqlAssembly sqlSqlAssembly, MethodInfo method) : base(name, schemaName, sqlSqlAssembly, method.DeclaringType, method) { _exportedProcedureAttribute = method.GetCustomAttribute <SqlInstallerScriptGeneratorExportedProcedure>(); _sqlProcedureAttribute = method.GetCustomAttribute <SqlProcedureAttribute>(); }