private Releaseability MakeSupplementalAssesment(ISupplementalExtractionResults supplementalExtractionResults) { var extractedObject = _repositoryLocator.GetArbitraryDatabaseObject( supplementalExtractionResults.ReferencedObjectRepositoryType, supplementalExtractionResults.ReferencedObjectType, supplementalExtractionResults.ReferencedObjectID) as INamed; if (extractedObject == null) { return(Releaseability.Undefined); } if (extractedObject is SupportingSQLTable) { if ((extractedObject as SupportingSQLTable).SQL != supplementalExtractionResults.SQLExecuted) { return(Releaseability.ExtractionSQLDesynchronisation); } } var finalAssessment = GetSupplementalSpecificAssessment(supplementalExtractionResults); if (finalAssessment == Releaseability.Undefined) { return(extractedObject.Name != supplementalExtractionResults.ExtractedName ? Releaseability.ExtractionSQLDesynchronisation : Releaseability.Releaseable); } return(finalAssessment); }
protected override void CheckDestination(ICheckNotifier notifier, ISupplementalExtractionResults globalResult) { var externalServerId = int.Parse(globalResult.DestinationDescription.Split('|')[0]); var externalServer = RepositoryLocator.CatalogueRepository.GetObjectByID <ExternalDatabaseServer>(externalServerId); var dbName = globalResult.DestinationDescription.Split('|')[1]; var tblName = globalResult.DestinationDescription.Split('|')[2]; var server = DataAccessPortal.GetInstance().ExpectServer(externalServer, DataAccessContext.DataExport, setInitialDatabase: false); var database = server.ExpectDatabase(dbName); if (!database.Exists()) { notifier.OnCheckPerformed(new CheckEventArgs("Database: " + database + " was not found", CheckResult.Fail)); Releasability = Releaseability.ExtractFilesMissing; } var foundTable = database.ExpectTable(tblName); if (!foundTable.Exists()) { notifier.OnCheckPerformed(new CheckEventArgs("Table: " + foundTable + " was not found", CheckResult.Fail)); Releasability = Releaseability.ExtractFilesMissing; } }
public override GlobalReleasePotential GetGlobalReleasabilityEvaluator(IRDMPPlatformRepositoryServiceLocator repositoryLocator, ISupplementalExtractionResults globalResult, IMapsDirectlyToDatabaseTable globalToCheck) { return(new MsSqlGlobalsReleasePotential(repositoryLocator, globalResult, globalToCheck)); }
protected abstract void CheckDestination(ICheckNotifier notifier, ISupplementalExtractionResults globalResult);
protected GlobalReleasePotential(IRDMPPlatformRepositoryServiceLocator repositoryLocator, ISupplementalExtractionResults globalResult, IMapsDirectlyToDatabaseTable globalToCheck) { RepositoryLocator = repositoryLocator; GlobalResult = globalResult; RelatedGlobal = globalToCheck; }
protected override void CheckDestination(ICheckNotifier notifier, ISupplementalExtractionResults globalResult) { CheckFileExists(notifier, globalResult.DestinationDescription); }
public FlatFileGlobalsReleasePotential(IRDMPPlatformRepositoryServiceLocator repositoryLocator, ISupplementalExtractionResults globalResult, IMapsDirectlyToDatabaseTable globalToCheck) : base(repositoryLocator, globalResult, globalToCheck) { }
/// <inheritdoc/> public abstract GlobalReleasePotential GetGlobalReleasabilityEvaluator(IRDMPPlatformRepositoryServiceLocator repositoryLocator, ISupplementalExtractionResults globalResult, IMapsDirectlyToDatabaseTable globalToCheck);
protected override void CheckDestination(ICheckNotifier notifier, ISupplementalExtractionResults globalResult) { Releasability = Releaseability.NeverBeenSuccessfullyExecuted; }