/// <summary>
 /// Initializes a new instance of the <see cref="AuthMutableStructureSearchManager"/> class.
 /// </summary>
 /// <param name="mutableRetrievalManagerFactory">
 /// The mutable retrieval manager factory.
 /// </param>
 /// <param name="crossReferenceManager">
 /// The cross reference manager.
 /// </param>
 /// <param name="connectionStringSettings">
 /// The connection string settings.
 /// </param>
 public AuthMutableStructureSearchManager(
     IAuthAdvancedMutableRetrievalManagerFactory mutableRetrievalManagerFactory, 
     IAuthCrossRetrievalManagerFactory crossReferenceManager, 
     ConnectionStringSettings connectionStringSettings)
     : base(mutableRetrievalManagerFactory, crossReferenceManager, connectionStringSettings)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthCategorisationV20MutableStructureSearchManager"/> class. 
 /// </summary>
 /// <param name="fullRetrievalManager">
 /// The full retrieval manager. Used for <see cref="StructureQueryDetailEnumType.Full"/> or
 ///     <see cref="StructureQueryDetailEnumType.ReferencedStubs"/>
 /// </param>
 /// <param name="crossReferenceManager">
 /// The cross reference manager. Set it to be able to retrieve cross references. Used for
 ///     <see cref="StructureQueryDetailEnumType.Full"/>
 ///     .
 /// </param>
 public AuthCategorisationV20MutableStructureSearchManager(IAuthSdmxMutableObjectRetrievalManager fullRetrievalManager, IAuthCrossRetrievalManagerFactory crossReferenceManager)
     : base(fullRetrievalManager, crossReferenceManager)
 {
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="AuthMutableStructureSearchManagerBase"/> class.
        /// </summary>
        /// <param name="fullRetrievalManager">
        /// The full retrieval manager. Used for <see cref="StructureQueryDetailEnumType.Full"/> or
        ///     <see cref="StructureQueryDetailEnumType.ReferencedStubs"/>
        /// </param>
        /// <param name="crossReferenceManager">
        /// The cross reference manager. Set it to be able to retrieve cross references. Used for
        ///     <see cref="StructureQueryDetailEnumType.Full"/>
        ///     .
        /// </param>
        protected AuthMutableStructureSearchManagerBase(IAuthSdmxMutableObjectRetrievalManager fullRetrievalManager, IAuthCrossRetrievalManagerFactory crossReferenceManager)
        {
            if (fullRetrievalManager == null)
            {
                throw new ArgumentNullException("fullRetrievalManager");
            }

            this._crossReferenceManager = crossReferenceManager;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="AuthMutableStructureSearchManagerBase"/> class.
        /// </summary>
        /// <param name="connectionStringSettings">
        /// The connection string settings.
        /// </param>
        protected AuthMutableStructureSearchManagerBase(ConnectionStringSettings connectionStringSettings)
        {
            this._database = new Database(connectionStringSettings);
            this._crossReferenceManager = new AuthCrossMutableRetrievalManagerFactory();

            // advanced
            this._advancedMutableRetrievalManagerFactory = new AuthAdvancedMutableRetrievalManagerFactory();
            this._retrievalAdvancedManager = this._advancedMutableRetrievalManagerFactory.GetRetrievalManager(this._database);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthMutableStructureSearchManagerBase"/> class.
 /// </summary>
 /// <param name="mutableRetrievalManagerFactory">
 /// The mutable retrieval manager factory.
 /// </param>
 /// <param name="crossReferenceManager">
 /// The cross reference manager.
 /// </param>
 /// <param name="connectionStringSettings">
 /// The connection string settings.
 /// </param>
 protected AuthMutableStructureSearchManagerBase(
     IAuthAdvancedMutableRetrievalManagerFactory mutableRetrievalManagerFactory, 
     IAuthCrossRetrievalManagerFactory crossReferenceManager, 
     ConnectionStringSettings connectionStringSettings)
 {
     this._advancedMutableRetrievalManagerFactory = mutableRetrievalManagerFactory ?? new AuthAdvancedMutableRetrievalManagerFactory();
     this._crossReferenceManager = crossReferenceManager ?? new AuthCrossMutableRetrievalManagerFactory();
     var database = new Database(connectionStringSettings);
     this._advancedMutableRetrievalManagerFactory.GetRetrievalManager(database);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthStructureRetrieverV21"/> class. 
 /// </summary>
 /// <param name="fullRetrievalManager">
 /// The full retrieval manager. Used for <see cref="StructureQueryDetailEnumType.Full"/> or
 ///     <see cref="StructureQueryDetailEnumType.ReferencedStubs"/>
 /// </param>
 /// <param name="crossReferenceManager">
 /// The cross reference manager. Set it to be able to retrieve cross references. Used for
 ///     <see cref="StructureQueryDetailEnumType.Full"/>
 ///     .
 /// </param>
 public AuthStructureRetrieverV21(IAuthSdmxMutableObjectRetrievalManager fullRetrievalManager, IAuthCrossRetrievalManagerFactory crossReferenceManager)
     : base(fullRetrievalManager, crossReferenceManager)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthAdvancedStructureRetriever"/> class.
 /// </summary>
 /// <param name="mutableRetrievalManagerFactory">
 /// The mutable retrieval manager factory.
 /// </param>
 /// <param name="crossReferenceManagerFactory">
 /// The cross reference manager factory.
 /// </param>
 /// <param name="connectionStringSettings">
 /// The connection string settings.
 /// </param>
 public AuthAdvancedStructureRetriever(
     IAuthAdvancedMutableRetrievalManagerFactory mutableRetrievalManagerFactory, 
     IAuthCrossRetrievalManagerFactory crossReferenceManagerFactory, 
     ConnectionStringSettings connectionStringSettings)
 {
     this._crossReferenceManagerFactory = crossReferenceManagerFactory ?? new AuthCrossMutableRetrievalManagerFactory();
     this._retrievalFactory = mutableRetrievalManagerFactory ?? new AuthAdvancedMutableRetrievalManagerFactory();
     this._database = new Database(connectionStringSettings);
     this._retrievalManager = this._retrievalFactory.GetRetrievalManager(this._database);
 }