Example #1
0
 public Message(Participant participant, WTalk.Core.ProtoJson.Schema.ChatMessage chatMessage)
 {
     // TODO: Complete member initialization
     this._participant = participant;
     this._chatMessage = chatMessage;
     AppendContent(chatMessage);
 }
Example #2
0
 internal void AddContent(WTalk.Core.ProtoJson.Schema.Event chatEvent, bool prepend = false )
 {
     if(prepend)
         _content.InsertRange(0, chatEvent.chat_message.message_content.segment.Select(c => c.text));
     else
         _content.AddRange(chatEvent.chat_message.message_content.segment.Select(c => c.text));
     MessageDate = chatEvent.timestamp.FromUnixTime();
     OnPropertyChanged("Content");
 }
Example #3
0
 public ConversationViewModel(WTalk.Model.Conversation conversation, Client client):this(client)
 {
     this.Conversation = conversation;
     this.Conversation.NewMessageReceived += Conversation_NewMessageReceived;
     this.Contact = client.GetContactFromCache(conversation.Participants.Where(c => c.Key != client.CurrentUser.Id).FirstOrDefault().Key).Result;
     if (this.Contact != null)
         _name = this.Contact.DisplayName;
     else                
         _name = "Unknown User";
 }
Example #4
0
        public void AppendContent(WTalk.Core.ProtoJson.Schema.ChatMessage chatMessage)
        {
            StringBuilder builder = new StringBuilder(Content);
            foreach( var c in chatMessage.message_content.segment)
                builder.AppendLine(c.text);

            Content = builder.ToString();
            OnPropertyChanged("Content");

        }
        public ConversationViewModel(WTalk.Model.Conversation conversationCache, Client client)
        {
            this.Participant = conversationCache.Participants.Values.FirstOrDefault(c=>c.Id != client.CurrentUser.id.chat_id);
            this.Messages = new ObservableCollection<Message>(conversationCache.MessagesHistory);
            _lastMessage = this.Messages.LastOrDefault();
            this._conversationCache = conversationCache;            
            this._client = client;
            this._client.NewConversationEventReceived += _client_NewConversationEventReceived;


            SendMessageCommand = new RelayCommand((p) => SendMessage(p.ToString()));
            SetFocusCommand = new RelayCommand((p) => SetFocus(_conversationCache.Id));            
        }
Example #6
0
 public Participant(WTalk.Core.ProtoJson.Schema.ConversationParticipantData conversationParticipantData)
 {
     // TODO: Complete member initialization
     _conversationParticipantData = conversationParticipantData;
 }
Example #7
0
 internal Message(WTalk.Core.ProtoJson.Schema.Event chatEvent)
 {
     _event = chatEvent;
     AddContent(chatEvent);
     MessageDate = chatEvent.timestamp.FromUnixTime();
 }