Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Message"/> class.
 /// </summary>
 /// <param name="content">The content.</param>
 /// <param name="senderDisplayName">Display name of the sender.</param>
 /// <param name="senderAlias">The sender alias.</param>
 /// <param name="timeStamp">The timestamp.</param>
 /// <param name="conversationId">The conversation id.</param>
 /// <param name="conferenceUri">The conference URI.</param>
 public Message(string content, string senderDisplayName, string senderAlias, string senderUri, DateTime timeStamp,
                string conversationId, string conferenceUri, MessageModality modality, MessageDirection direction = MessageDirection.Incoming)
 {
     this.Content           = content;
     this.SenderDisplayName = SenderDisplayName;
     this.SenderAlias       = senderAlias;
     this.SenderUri         = senderUri;
     this.TimeStamp         = timeStamp;
     this.ConversationId    = conversationId;
     this.ConferenceUri     = conferenceUri;
     this.Modality          = modality;
     this.Direction         = direction;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Parses context data into List of Messages based on format:
        /// [SenderDisplayName ([email protected])(sip:[email protected])][ConversationId:12345678][ConferenceUri:[email protected];conf][TimeStamp][MessageType][MessageDirection][MessageContent];;
        /// </summary>
        /// <param name="contextData"></param>
        /// <returns></returns>
        private List <Message> ParseMessagesFromContextData(string contextData)
        {
            List <Message> transcriptMessages = new List <Message>();

            // Split messages
            char[]   transcriptMessagesDelimiter = { ';', ';' };
            string[] transcriptMessageData       = contextData.Split(transcriptMessagesDelimiter);

            char[] messagePropertyDelimiter   = { ']', '[' };
            char[] messageSenderInfoDelimiter = { '(' };
            foreach (string s in transcriptMessageData)
            {
                // Split message content
                string senderInfo        = "null";
                string senderDisplayName = "null";
                string senderAlias       = "null";
                string senderUri         = "null";
                string conversationId    = "null";
                string conferenceUri     = "null";
                string timeStamp         = DateTime.Now.ToString();
                string messageType       = "Info";
                string messageDirection  = "Incoming";
                string messageContent    = "null";

                string[] messageProperties = s.Split(messagePropertyDelimiter);
                // Verify 7 items in messageProperties
                if (messageProperties.Length == 7)
                {
                    senderInfo       = messageProperties[0].Substring(1);
                    conversationId   = messageProperties[1].Substring(1);
                    conferenceUri    = messageProperties[2].Substring(1);
                    timeStamp        = messageProperties[3].Substring(1);
                    messageType      = messageProperties[4].Substring(1);
                    messageDirection = messageProperties[5].Substring(1);
                    messageContent   = messageProperties[6].Substring(1);

                    if (senderInfo.Contains('('))
                    {
                        string[] senderInfoItems = senderInfo.Split(messageSenderInfoDelimiter);
                        senderDisplayName = senderInfoItems[0].Trim();
                        senderAlias       = senderInfoItems[1].Substring(0, senderInfoItems[1].Length - 1).Trim();
                        senderAlias       = senderInfoItems[2].Substring(0, senderInfoItems[2].Length - 1).Trim();
                    }
                    else
                    {
                        senderDisplayName = senderInfo.Trim();
                    }
                }
                else
                {
                    // TODO: Error
                    continue;
                }

                MessageModality modality = MessageModality.Info;
                Enum.TryParse <MessageModality>(messageType, true, out modality);
                MessageDirection direction = MessageDirection.Incoming;
                Enum.TryParse <MessageDirection>(messageDirection, true, out direction);
                Message m = new Message(messageContent, senderDisplayName, senderAlias, senderUri, DateTime.Parse(timeStamp), conversationId, conferenceUri, modality, direction);
                transcriptMessages.Add(m);
            } // loop

            return(transcriptMessages);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="content"></param>
 /// <param name="senderDisplayName"></param>
 /// <param name="senderAlias"></param>
 /// <param name="senderUri"></param>
 /// <param name="modality"></param>
 /// <param name="conversationId"></param>
 /// <param name="conferenceUri"></param>
 /// <param name="messageDirection"></param>
 public Message(string content, string senderDisplayName, string senderAlias, string senderUri,
     MessageModality modality, string conversationId, string conferenceUri, MessageDirection messageDirection = MessageDirection.Incoming)
     : this(content, senderDisplayName, senderAlias, senderUri, DateTime.Now, conversationId, conferenceUri, modality, messageDirection)
 {
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Message"/> class.
 /// </summary>
 /// <param name="content">The content.</param>
 /// <param name="senderDisplayName">Display name of the sender.</param>
 /// <param name="senderAlias">The sender alias.</param>
 /// <param name="timeStamp">The timestamp.</param>
 /// <param name="conversationId">The conversation id.</param>
 /// <param name="conferenceUri">The conference URI.</param>
 public Message(string content, string senderDisplayName, string senderAlias, string senderUri, DateTime timeStamp,
     string conversationId, string conferenceUri, MessageModality modality, MessageDirection direction = MessageDirection.Incoming)
 {
     this.Content = content;
     this.SenderDisplayName = SenderDisplayName;
     this.SenderAlias = senderAlias;
     this.SenderUri = senderUri;
     this.TimeStamp = timeStamp;
     this.ConversationId = conversationId;
     this.ConferenceUri = conferenceUri;
     this.Modality = modality;
     this.Direction = direction;
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="content"></param>
 /// <param name="modality"></param>
 /// <param name="conversationId"></param>
 /// <param name="conferenceUri"></param>
 public Message(string content, MessageModality modality, string conversationId, string conferenceUri)
     : this(content, String.Empty, String.Empty, String.Empty, DateTime.Now, conversationId, conferenceUri, modality, MessageDirection.Incoming)
 {
 }
Ejemplo n.º 6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="content"></param>
 /// <param name="senderDisplayName"></param>
 /// <param name="senderAlias"></param>
 /// <param name="senderUri"></param>
 /// <param name="modality"></param>
 /// <param name="conversationId"></param>
 /// <param name="messageDirection"></param>
 public Message(string content, string senderDisplayName, string senderAlias, string senderUri, MessageModality modality,
                string conversationId, MessageDirection messageDirection = MessageDirection.Incoming)
     : this(content, senderDisplayName, senderAlias, senderUri, DateTime.Now, conversationId, String.Empty, modality, messageDirection)
 {
 }
Ejemplo n.º 7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="content"></param>
 /// <param name="modality"></param>
 /// <param name="conversationId"></param>
 /// <param name="conferenceUri"></param>
 public Message(string content, MessageModality modality, string conversationId, string conferenceUri)
     : this(content, String.Empty, String.Empty, String.Empty, DateTime.Now, conversationId, conferenceUri, modality, MessageDirection.Incoming)
 {
 }