public DevelopmentInstallationLogic( GeneralInstallationLogic generalInstallationLogic, ExistingInstallationLogic existingInstallationLogic, RecognizedInstallationLogic recognizedInstallationLogic) { this.generalInstallationLogic = generalInstallationLogic; this.existingInstallationLogic = existingInstallationLogic; database = recognizedInstallationLogic != null ? recognizedInstallationLogic.Database : DatabaseAbstraction.DatabaseOps.CreateDatabase( existingInstallationLogic.RuntimeConfiguration.PrimaryDatabaseInfo, new List<string>() ); var developmentConfiguration = existingInstallationLogic.RuntimeConfiguration.SystemDevelopmentConfiguration; databasesForCodeGeneration = new List<DatabaseAbstraction.Database>(); if( developmentConfiguration.database != null ) DatabasesForCodeGeneration.Add( database ); if( developmentConfiguration.secondaryDatabases != null ) { foreach( var secondaryDatabaseInDevelopmentConfiguration in developmentConfiguration.secondaryDatabases ) { DatabasesForCodeGeneration.Add( ( recognizedInstallationLogic != null ? recognizedInstallationLogic.SecondaryDatabasesIncludedInDataPackages.SingleOrDefault( sd => sd.SecondaryDatabaseName == secondaryDatabaseInDevelopmentConfiguration.name ) : null ) ?? DatabaseAbstraction.DatabaseOps.CreateDatabase( this.existingInstallationLogic.RuntimeConfiguration.GetSecondaryDatabaseInfo( secondaryDatabaseInDevelopmentConfiguration.name ), new List<string>() ) ); } } }
public DevelopmentInstallationLogic( GeneralInstallationLogic generalInstallationLogic, ExistingInstallationLogic existingInstallationLogic, RecognizedInstallationLogic recognizedInstallationLogic) { this.generalInstallationLogic = generalInstallationLogic; this.existingInstallationLogic = existingInstallationLogic; var developmentConfiguration = existingInstallationLogic.RuntimeConfiguration.SystemDevelopmentConfiguration; databasesForCodeGeneration = new List <DatabaseAbstraction.Database>(); if (developmentConfiguration.database != null) { DatabasesForCodeGeneration.Add(existingInstallationLogic.Database); } if (developmentConfiguration.secondaryDatabases != null) { foreach (var secondaryDatabaseInDevelopmentConfiguration in developmentConfiguration.secondaryDatabases) { DatabasesForCodeGeneration.Add( (recognizedInstallationLogic != null ? recognizedInstallationLogic.SecondaryDatabasesIncludedInDataPackages.SingleOrDefault( sd => sd.SecondaryDatabaseName == secondaryDatabaseInDevelopmentConfiguration.name) : null) ?? DatabaseAbstraction.DatabaseOps.CreateDatabase( this.existingInstallationLogic.RuntimeConfiguration.GetSecondaryDatabaseInfo(secondaryDatabaseInDevelopmentConfiguration.name))); } } }
private static DevelopmentInstallation getInstallation( string path ) { var generalInstallationLogic = new GeneralInstallationLogic( path ); var existingInstallationLogic = new ExistingInstallationLogic( generalInstallationLogic, new InstallationConfiguration( ConfigurationStatics.MachineIsStandbyServer, path, true ) ); if( existingInstallationLogic.RuntimeConfiguration.RsisInstallationId.HasValue ) { ConfigurationLogic.Init2(); SystemListStatics.RefreshSystemList(); var knownSystemLogic = new KnownSystemLogic( SystemListStatics.RsisSystemList.Systems.Single( i => i.DevelopmentInstallationId == existingInstallationLogic.RuntimeConfiguration.RsisInstallationId.Value ) ); var recognizedInstallationLogic = new RecognizedInstallationLogic( existingInstallationLogic, knownSystemLogic ); return new RecognizedDevelopmentInstallation( generalInstallationLogic, existingInstallationLogic, knownSystemLogic, recognizedInstallationLogic ); } return new UnrecognizedDevelopmentInstallation( generalInstallationLogic, existingInstallationLogic ); }