private void AddPrivateMessageinCache(string fromEmail, string chatToEmail, string userName, string message) { using (NAANSolutionCMSEntities1 dc = new NAANSolutionCMSEntities1()) { // Save master var master = dc.ChatPrivateMessageMasters.ToList().Where(a => a.EmailID.Equals(fromEmail)).ToList(); if (master.Count == 0) { var result = new ChatPrivateMessageMaster { EmailID = fromEmail, UserName = userName }; dc.ChatPrivateMessageMasters.Add(result); dc.SaveChanges(); } // Save details var resultDetails = new ChatPrivateMessageDetail { MasterEmailID = fromEmail, ChatToEmailID = chatToEmail, Message = message }; dc.ChatPrivateMessageDetails.Add(resultDetails); dc.SaveChanges(); } }
public void Connect(string userName, string email) { emailIDLoaded = email; var id = Context.ConnectionId; using (NAANSolutionCMSEntities1 dc = new NAANSolutionCMSEntities1()) { var item = dc.ChatUserDetails.FirstOrDefault(x => x.EmailID == email); if (item != null) { dc.ChatUserDetails.Remove(item); dc.SaveChanges(); // Disconnect Clients.All.onUserDisconnectedExisting(item.ConnectionId, item.UserName); } var Users = dc.ChatUserDetails.ToList(); if (Users.Where(x => x.EmailID == email).ToList().Count == 0) { var userdetails = new ChatUserDetail { ConnectionId = id, UserName = userName, EmailID = email }; dc.ChatUserDetails.Add(userdetails); dc.SaveChanges(); // send to caller var connectedUsers = dc.ChatUserDetails.ToList(); var CurrentMessage = dc.ChatMessageDetails.ToList(); Clients.Caller.onConnected(id, userName, connectedUsers, CurrentMessage); } // send to all except caller client Clients.AllExcept(id).onNewUserConnected(id, userName, email); } }
private void AddAllMessageinCache(string userName, string message) { using (NAANSolutionCMSEntities1 dc = new NAANSolutionCMSEntities1()) { var messageDetail = new ChatMessageDetail { UserName = userName, Message = message, EmailID = emailIDLoaded }; dc.ChatMessageDetails.Add(messageDetail); dc.SaveChanges(); } }
public override System.Threading.Tasks.Task OnDisconnected(bool stopCalled) { using (NAANSolutionCMSEntities1 dc = new NAANSolutionCMSEntities1()) { var item = dc.ChatUserDetails.FirstOrDefault(x => x.ConnectionId == Context.ConnectionId); if (item != null) { dc.ChatUserDetails.Remove(item); dc.SaveChanges(); var id = Context.ConnectionId; Clients.All.onUserDisconnected(id, item.UserName); } } return(base.OnDisconnected(stopCalled)); }