Private messages refactoring

vnext
Paul Schneider 8 years ago
parent a841c0e391
commit 5bb74b422b
4 changed files with 34 additions and 10 deletions

@ -347,14 +347,17 @@ namespace BookAStar
chatHubProxy = chatHubConnection.CreateHubProxy("ChatHub");
chatHubProxy.On<string, string>("addPV", (n, m) => {
DataManager.Instance.PrivateMessages.Add(
new ChatMessage
var msg = new ChatMessage
{
Message = m,
SenderId = n,
Date = DateTime.Now
}
};
DataManager.Instance.PrivateMessages.Add(
msg
);
DataManager.Instance.ChatUsers.OnPrivateMessage(msg);
});
}

@ -1,5 +1,6 @@
using BookAStar.Data;
using BookAStar.Model.Social.Chat;
using BookAStar.Model.Social.Messaging;
using System;
using System.Collections.Generic;
using System.Linq;
@ -16,7 +17,20 @@ namespace BookAStar.ViewModels.Messaging
{
}
public void OnPrivateMessage(ChatMessage msg)
{
var sender = this.FirstOrDefault(user => user.Connections.Any(
cx => cx.ConnectionId == msg.SenderId
));
if (sender != null)
{
sender.PrivateMessages.Add(msg);
} else
{
// TODO alert? or else get chat user info
// or else just display this message ...
}
}
public override void Merge(ChatUserInfo item)
{
var key = GetKey(item);

@ -7,6 +7,7 @@ using XLabs.Forms.Mvvm;
using YavscLib;
using System;
using Newtonsoft.Json;
using BookAStar.Model.Social.Messaging;
namespace BookAStar.Model.Social.Chat
{
@ -131,7 +132,15 @@ namespace BookAStar.Model.Social.Chat
throw new NotImplementedException();
}
}
ObservableCollection<ChatMessage> privateMessages ;
[JsonIgnore]
public ObservableCollection<ChatMessage> PrivateMessages
{
get
{
return privateMessages;
}
}
public void OnConnected(string cxId)
{

@ -14,7 +14,6 @@ namespace BookAStar.ViewModels.Messaging
{
public ObservableCollection<ChatMessage> Messages { get; set; }
public ObservableCollection<ChatMessage> Notifs { get; set; }
public ObservableCollection<ChatMessage> PVs { get; set; }
public ChatUserCollection ChatUsers { get; set; }
private ConnectionState state;
@ -29,7 +28,6 @@ namespace BookAStar.ViewModels.Messaging
MainSettings.UserChanged += MainSettings_UserChanged;
Messages = new ObservableCollection<ChatMessage>();
Notifs = new ObservableCollection<ChatMessage>();
PVs = DataManager.Instance.PrivateMessages;
ChatUsers = DataManager.Instance.ChatUsers;
App.ChatHubProxy.On<string, string>("addMessage", (n, m) =>
{

Loading…