/// <summary>
        /// Initializes a new instance of the <see cref="CollectorReceiptManager" /> class.
        /// </summary>
        /// <param name="receiptRepository">The receipt repository.</param>
        /// <param name="processRepository">The process repository.</param>
        /// <param name="settingsManager">The settings manager.</param>
        /// <param name="networkHelper">The network helper.</param>
        /// <param name="logger">The logger.</param>
        /// <exception cref="System.ArgumentNullException">settingsManager
        /// or
        /// receiptRepository
        /// or
        /// processRepository
        /// or
        /// networkHelper
        /// or
        /// logger</exception>
        public CollectorReceiptManager(
            Interfaces.ICollectorReceiptRepository receiptRepository,
            Interfaces.IProcessRepository processRepository,
            Interfaces.ISettingsManager settingsManager,
            Interfaces.INetworkHelper networkHelper,
            ILoggerService logger)
        {
            if (settingsManager == null)
            {
                throw new ArgumentNullException("settingsManager");
            }

            if (receiptRepository == null)
            {
                throw new ArgumentNullException("receiptRepository");
            }

            if (processRepository == null)
            {
                throw new ArgumentNullException("processRepository");
            }

            if (networkHelper == null)
            {
                throw new ArgumentNullException("networkHelper");
            }

            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            this.receiptRepository = receiptRepository;
            this.processRepository = processRepository;
            this.settingsManager   = settingsManager;
            this.settings          = this.settingsManager.LoadSettings();
            this.networkHelper     = networkHelper;
            this.logger            = logger;

            this.databaseConnectionString = "jdbc:h2:" + this.settings.CollectionneurDabasePath.Replace(".h2.db", string.Empty);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CollectorReceiptManager" /> class.
        /// </summary>
        /// <param name="receiptRepository">The receipt repository.</param>
        /// <param name="processRepository">The process repository.</param>
        /// <param name="settingsManager">The settings manager.</param>
        /// <param name="networkHelper">The network helper.</param>
        /// <param name="logger">The logger.</param>
        /// <exception cref="System.ArgumentNullException">settingsManager
        /// or
        /// receiptRepository
        /// or
        /// processRepository
        /// or
        /// networkHelper
        /// or
        /// logger</exception>
        public CollectorReceiptManager(
            Interfaces.ICollectorReceiptRepository receiptRepository, 
            Interfaces.IProcessRepository processRepository,
            Interfaces.ISettingsManager settingsManager,
            Interfaces.INetworkHelper networkHelper,
            ILoggerService logger)
        {
            if (settingsManager == null)
            {
                throw new ArgumentNullException("settingsManager");
            }

            if (receiptRepository == null)
            {
                throw new ArgumentNullException("receiptRepository");
            }

            if (processRepository == null)
            {
                throw new ArgumentNullException("processRepository");
            }

            if (networkHelper == null)
            {
                throw new ArgumentNullException("networkHelper");
            }

            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            this.receiptRepository = receiptRepository;
            this.processRepository = processRepository;
            this.settingsManager = settingsManager;
            this.settings = this.settingsManager.LoadSettings();
            this.networkHelper = networkHelper;
            this.logger = logger;

            this.databaseConnectionString = "jdbc:h2:" + this.settings.CollectionneurDabasePath.Replace(".h2.db", string.Empty);
        }