/// <summary> /// Call method CommandDeployDbIntegrate(); on external AppCli. /// </summary> public static void CommandDeployDbIntegrate(AppCli appCli, DeployDbIntegrateResult result) { foreach (var type in appCli.AssemblyApplicationCli.GetTypes()) { if (UtilFramework.IsSubclassOf(type, typeof(AppCli))) { if (type != appCli.GetType()) { var appCliExternal = (AppCli)Activator.CreateInstance(type); appCliExternal.CommandDeployDbIntegrate(result); } } } }
/// <summary> /// Collect rowList from external FrameworkConfigFieldIntegrateAppCli (ConfigField). /// </summary> public static void CommandDeployDbIntegrate(AppCli appCli, List <FrameworkConfigFieldIntegrate> rowList) { foreach (var type in appCli.AssemblyApplicationCli.GetTypes()) { if (type.FullName.StartsWith("DatabaseIntegrate.dbo.FrameworkConfigFieldIntegrateAppCli")) { if (type.FullName != "DatabaseIntegrate.dbo.FrameworkConfigFieldIntegrateAppCli") { var typeCliExternal = appCli.AssemblyApplicationCli.GetType(type.FullName); var propertyInfo = typeCliExternal.GetProperty(nameof(FrameworkConfigFieldIntegrateFrameworkCli.RowList)); var rowApplicationCliList = (List <FrameworkConfigFieldIntegrate>)propertyInfo.GetValue(null); rowList.AddRange(rowApplicationCliList); } } } }