/// <summary> /// Creates a basic worker to manipulate missing foreign key values. /// </summary> /// <param name="targetTableName">Target name of the table to validate against.</param> /// <param name="metadataRepository">Metadata repository.</param> protected MissingForeignKeyWorkerBase(string targetTableName, IMetadataRepository metadataRepository) { if (string.IsNullOrEmpty(targetTableName)) { throw new ArgumentNullException("targetTableName"); } if (metadataRepository == null) { throw new ArgumentNullException("metadataRepository"); } var dataSource = metadataRepository.DataSourceGet(); _foreignTable = dataSource.Tables.SingleOrDefault(m => string.Compare(m.NameTarget, targetTableName, StringComparison.OrdinalIgnoreCase) == 0); if (_foreignTable == null) { throw new DeliveryEngineSystemException(Resource.GetExceptionMessage(ExceptionMessage.TableNotFound, targetTableName)); } }