示例#1
0
        /// <summary>
        ///     Creates a reply message, by switching the target and source and maitaining the previous data bag.
        /// Also adds info from the previous message.
        /// <remarks>All file data is not transfered.</remarks>
        /// </summary>
        /// <param name="msg">Source message</param>
        /// <param name="action">Message action</param>
        /// <returns></returns>
        public static INyxMessage ReplyWithData(this INyxMessage msg, string action)
        {
            var reply = new NyxMessage(msg.Source, action, msg.Target).Set(CoreParamsOriginalMessageId, msg.ShortId());

            foreach (var element in msg.Elements)
            {
                reply.Set(element.Key, element.Value);
            }
            return(reply);
        }
示例#2
0
 /// <summary>
 ///     Checks if the message is a response to a message.
 /// </summary>
 /// <param name="replyMessage">Possible reply message.</param>
 /// <param name="message">Message to verify against for checking if is a reply.</param>
 /// <returns></returns>
 public static bool IsReplyTo(this INyxMessage replyMessage, INyxMessage message)
 {
     return(replyMessage.Has(CoreParamsOriginalMessageId) && replyMessage[CoreParamsOriginalMessageId] == message.ShortId());
 }
示例#3
0
 /// <summary>
 ///     Creates a reply message, by switching the target and source. Also adds info from the previous message.
 /// <remarks>No data from the original message is maitained.</remarks>
 /// </summary>
 /// <param name="msg">Source message</param>
 /// <param name="action">Message action</param>
 /// <returns></returns>
 public static INyxMessage Reply(this INyxMessage msg, string action)
 {
     return(new NyxMessage(msg.Source, action, msg.Target).Set(CoreParamsOriginalMessageId, msg.ShortId()));
 }