Ejemplo n.º 1
0
        public void OpenFile(FileSessionParameters parameters)
        {
            if (_session != null)
            {
                // Another session is open.
                // Close the session first before opening this new one
                CloseSession();
            }

            var session = new FileSession(this, _resultFactory, parameters);

            OpenSession(session);
        }
Ejemplo n.º 2
0
        public FileSession(ISessionHandler resultHandler, IResultFactory resultFactory, FileSessionParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }
            if (string.IsNullOrWhiteSpace(parameters.FileName))
            {
                throw new ArgumentException(@"FileName is required.", nameof(parameters));
            }

            _watchFile   = parameters.Watch;
            _syncContext = SynchronizationContext.Current;

            _resultHandler = resultHandler;
            _resultFactory = resultFactory;

            Name = parameters.FileName;

            //Allow proper decoding of orders.
            JsonConvert.DefaultSettings = () => new JsonSerializerSettings
            {
                Converters = { new OrderJsonConverter() }
            };
        }