Exemplo n.º 1
0
        public void BeforeSendReply(ref System.ServiceModel.Channels.Message reply, object correlationState)
        {
            object result = null;

            if (OperationContext.Current.OutgoingMessageProperties.TryGetValue("VeriBranchResult", out result))
            {
                VeriBranchMessageHeader messageHeader = new VeriBranchMessageHeader();
                if (result != null)
                {
                    SharedAspectsHelper.MapVeriBranchResultToVeriBranchMessageHeader((VeriBranchResult)result, messageHeader);
                    OperationContext.Current.OutgoingMessageProperties.Remove("VeriBranchResult");
                }

                if (messageHeader != null)
                {
                    reply.Headers.Add(messageHeader);
                }
            }
        }
        public static void MapVeriBranchResultToVeriBranchMessageHeader(VeriBranchResult result, VeriBranchMessageHeader messageHeader)
        {
            if (result == null)
            {
                messageHeader = null;
                return;
            }

            messageHeader.IsSuccess = result.IsSuccess;

            if (result.Error != null)
            {
                messageHeader.Description      = result.Error.Description;
                messageHeader.DisplayMessage   = result.Error.DisplayMessage;
                messageHeader.ErrorCode        = result.Error.Code;
                messageHeader.ExceptionMessage = result.Error.ExceptionMessage;
            }
        }