예제 #1
0
        /// <inheritdoc />
        Task ISupportAcknowledgement.AcknowledgeAsync(bool positivelyAcknowledge, Exception?exception)
        {
            try
            {
                if (_acknowledgementState != AcknowledgementState.NotAcknowledged)
                {
                    return(Task.CompletedTask);
                }

                if (positivelyAcknowledge)
                {
                    _postiveAcknowledgeAction?.Invoke(this);
                    _acknowledgementState = AcknowledgementState.Acknowledged;
                }
                else
                {
                    _acknowledgementState = AcknowledgementState.NegativelyAcknowledged;
                }
                return(Task.CompletedTask);
            }
            finally
            {
#if NETCOREAPP3_1
                if (_stopwatch.HasValue)
                {
                    OpenMessageEventSource.Instance.ProcessMessageStop(_stopwatch.Value);
                    _stopwatch = null;
                }
#endif
            }
        }
예제 #2
0
 /// <summary>
 /// Get the display string for an enum by it's value in enum form
 /// </summary>
 /// <param name="value">The enum value in enum form</param>
 /// <returns>The display string for the value or the default if one cannot be found</returns>
 public static string GetByEnum(AcknowledgementState value)
 {
     return(GetByEnum((int)value));
 }