示例#1
0
 protected virtual void OnNetwrokRequestCompleted(NetworkRequestCompletedArgs args)
 {
     if (NetwrokRequestCompleted != null)
     {
         NetwrokRequestCompleted(this, args);
     }
 }
示例#2
0
        /// <summary>
        /// Устанавливает или сбрасывает соответсвующие флаги ошибок устройтсва
        /// </summary>
        /// <param name="errors"></param>
        //internal void SetError(DeviceErrors errors)
        //{
        //    if (errors != _Errors)
        //    {
        //        _Errors = errors;                
        //        OnErrorOccurred(new ErrorOccuredEventArgs { Errors = errors });
        //    }
        //}

        /// <summary>
        /// Обработчик события завершения обработки сетевого запроса от контроллера сети 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void EventHandler_NetworkController_NetwrokRequestCompleted(
            object sender, NetworkRequestCompletedArgs e)
        {
        }
示例#3
0
        public override void EventHandler_NetworkController_NetwrokRequestCompleted(
            object sender, NetworkRequestCompletedArgs e)
        {
            // Ищем запрос в буфере
            var request = _activeRequests.FirstOrDefault(r => r.Id == e.NetworkRequest.Id);

            if (request == null)
            {
                return;
            }

            switch (request.Status)
            {
                case NetworkRequestStatus.Completed:
                    {
                        if (Errors.CommunicationError)
                        {
                            _Errors.CommunicationError = true;
                            OnErrorOccurred(new DeviceErrorOccuredEventArgs 
							{
 								Id = this.Id,
								Errors = _Errors 
							});
                        }
                        // Разбираем транзакцию
                        GetAnswer(e.NetworkRequest);
                        break;
                    }
                case NetworkRequestStatus.Failed:
                    {
                        if (!Errors.CommunicationError)
                        {
                            _Errors.CommunicationError = true;
                            OnErrorOccurred(new DeviceErrorOccuredEventArgs 
							{ 
								Id = this.Id,
								Errors = _Errors 
							});
                        }
                        // Записываем в журнал причину
                        //TODO: Logger.Error(transaction.ToString());
                        break;
                    }
                default:
                    {
                        // Другие варианты в принципе не возможны...
                        throw new Exception();
                    }
            }

        }