Пример #1
0
        /// <summary>
        /// Called when [auction monitor ended].
        /// </summary>
        /// <param name="monitor">The monitor.</param>
        protected virtual void OnAuctionMonitorEnded(AuctionMonitor monitor)
        {
            var evtArgs = new AuctionLogFileEventArgs
            {
                CharacterName = monitor.CharacterName,
                FileName      = monitor.File.Name
            };

            AuctionMonitorEnded?.Invoke(this, evtArgs);
        }
Пример #2
0
        /// <summary>
        /// Called when [auction monitor started].
        /// </summary>
        /// <param name="monitor">The monitor.</param>
        protected virtual void OnAuctionMonitorStarted(AuctionMonitor monitor)
        {
            var evtArgs = new AuctionLogFileEventArgs
            {
                CharacterName = monitor.CharacterName,
                FileName      = monitor.File.Name
            };

            AuctionMonitorStarted?.Invoke(this, evtArgs);

            if (evtArgs.Cancel)
            {
                this.EndWatch();
            }
        }
        /// <summary>
        /// Called when [auction monitor started].
        /// </summary>
        /// <param name="monitor">The monitor.</param>
        protected virtual void OnAuctionMonitorStarted(AuctionMonitor monitor)
        {
            var evtArgs = new AuctionLogFileEventArgs
            {
                CharacterName = monitor.CharacterName,
                FileName = monitor.File.Name
            };
            AuctionMonitorStarted?.Invoke(this, evtArgs);

            if (evtArgs.Cancel)
                this.EndWatch();
        }
 /// <summary>
 /// Called when [auction monitor ended].
 /// </summary>
 /// <param name="monitor">The monitor.</param>
 protected virtual void OnAuctionMonitorEnded(AuctionMonitor monitor)
 {
     var evtArgs = new AuctionLogFileEventArgs
     {
         CharacterName = monitor.CharacterName,
         FileName = monitor.File.Name
     };
     AuctionMonitorEnded?.Invoke(this, evtArgs);
 }
        /// <summary>
        /// Event fired when the log watcher begins watching a log file
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="P99Auctions.Client.Watchers.AuctionLogFileEventArgs" /> instance containing the event data.</param>
        private void LogWatcher_AuctionMonitorStarted(object sender, AuctionLogFileEventArgs e)
        {
            _logger.Info($"Auction Monitor Started: {e.CharacterName}");
            var addSuccess = dicCharactersBeingWatched.TryAdd(e.CharacterName, new ActiveCharacter
            {
                CharacterName = e.CharacterName,
                FileName = e.FileName
            });

            if (addSuccess)
            {
                _trackerWindowModel.UpdateCharacterMonitorStatus(dicCharactersBeingWatched.Values);
                var dispatcherStarted = _dataDispatcher.EnsureStart(_clientSettings.ApiKey);

                if (!dispatcherStarted)
                {
                    this.DisableApplication(MessageUnableToConnect, true);
                    e.Cancel = true;
                }
                else
                    _uiMessageQueue.QueueItem(MessageScanningForAuctions, MessageSeverity.Success, ActivityState.Idle);
            }
        }
        /// <summary>
        /// Event fired when the log watcher releases a hook on a character log file
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="P99Auctions.Client.Watchers.AuctionLogFileEventArgs" /> instance containing the event data.</param>
        private void LogWatcher_AuctionMonitorEnded(object sender, AuctionLogFileEventArgs e)
        {
            _logger.Info($"Auction Monitor Ended: {e.CharacterName}");
            ActiveCharacter stats;
            if (dicCharactersBeingWatched.TryRemove(e.CharacterName, out stats))
                _trackerWindowModel.UpdateCharacterMonitorStatus(dicCharactersBeingWatched.Values);

            if (dicCharactersBeingWatched.Count == 0 && !_dataDispatcher.WatchingForMessages)
            {
                _dataDispatcher.Stop();
                _uiMessageQueue.QueueItem(MessageNoCharactersLoggedIn, MessageSeverity.Informational, ActivityState.Idle);
            }
        }