//-------------------------------------------------------------------------------------------------- GET Friendlist messages public async Task JoinChatRoom(string userID, string groupID) { await ReconnectUser(userID); DbSendMessage db = new DbSendMessage(); if (program.users.Groups.Exists(g => g.GroupID == groupID)) { var group = program.users.Groups.Find(g => g.GroupID == groupID); if (group.Users.Exists(u => u.UserID == userID)) { group.Users.Find(u => u.UserID == userID).IsConnected = true; var messagesFromDB = await db.GetTop100Messages(groupID, userID); List <ClientMessage> messages = new List <ClientMessage>(); messages = messagesFromDB; string mtd = "JoinChat" + groupID; string cid = Context.ConnectionId; await Clients.Client(cid).SendAsync(mtd, messages); } } }
public async Task SendMsgToGroup(string groupID, string message, string user, string userID) { await ReconnectUser(userID); if (program.users.Groups.Exists(g => g.GroupID == groupID)) { var group = program.users.Groups.Find(g => g.GroupID == groupID); if (group.Users.Exists(u => u.UserID == userID && u.IsConnected == true)) { DbSendMessage db = new DbSendMessage(); await db.SendMessage(message, userID, groupID); string method = "ReceiveMessage" + groupID; await Clients.Group(groupID).SendAsync(method, user, message); Console.WriteLine(method); } } }