Esempio n. 1
0
        //TODO: better logging
        private void LogFailedCommit()
        {
            var errors = (
                from entry  in ErroredOutActions
                let eventHandlerType = entry.Key.GetType().ToString()
                                       let errorMessage = entry.Value.Message
                                                          let stackTrace = entry.Value.StackTrace
                                                                           let innerExceptionMessage = entry.Value.InnerException != null ? entry.Value.InnerException.Message : string.Empty
                                                                                                       let innerExceptionStackTrace = entry.Value.InnerException != null ? entry.Value.InnerException.StackTrace : string.Empty
                                                                                                                                      select string.Format("ACTION HANDLER: {0} ::: ERROR MESSAGE: {1} ::: STACK TRACE: {2} ::: INNER EXCEPTION MESSAGE: {3} ::: INNER EXCEPTION STACK TRACE: {4}",
                                                                                                                                                           eventHandlerType, errorMessage, stackTrace, innerExceptionMessage, innerExceptionStackTrace)
                ).ToList();

            var notProcessedEventHandlerTypes = (
                from h in NotProcessedActions.ToList()
                select h.GetType()
                ).ToList();

            var processedEventHandlerTypes = (
                from h in ProcessedActions.ToList()
                select h.GetType()
                ).ToList();

            var message = string.Format(
                "TRANSACTION ERROR [ID: {0}] " +
                "[ACTION TYPE: {1}] " +
                "[ACTION DATA: {2}] " +
                "[ERRORS: {3}] " +
                "[NOT PROCESSED ACTION HANDLERS: {4}] " +
                "[PROCESSED ACTION HANDLERS: {5}]",
                Id, Message.GetType(), Message, string.Join(" ^^^ ", errors), string.Join(", ", notProcessedEventHandlerTypes), string.Join(", ", processedEventHandlerTypes));

            _log.Error(message);
        }
Esempio n. 2
0
 public void DoAllSimpleActions()
 {
     foreach (var processingAction in ProcessedActions.Where(pa => pa.IsSimple))
     {
         processingAction.Apply(this);
     }
 }
Esempio n. 3
0
 public void DoAllActions()
 {
     if (ProcessedActions.Any())
     {
         CurrentFrame.ProcessedImage = CurrentFrame.Image.Clone() as Bitmap;
     }
     foreach (var processingAction in ProcessedActions)
     {
         processingAction.Apply(this);
     }
 }
Esempio n. 4
0
 public void Commit()
 {
     while (NotProcessedActions.Count > 0)
     {
         var handler = NotProcessedActions.Dequeue();
         try
         {
             handler.Invoke(Message);
             ProcessedActions.Add(handler);
         }
         catch (Exception ex)
         {
             ErroredOutActions.Add(handler, ex);
             throw;
         }
     }
 }
 public void ClearNodeAnalysisState()
 {
     CurrentNode = null;
     ProcessedActions.Clear();
 }