Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void _sendNewMessageNotification(int roomID, Message item, RoomUser authorUser, List<RoomUser> users)
- {
- var _serializationSettings = new JsonSerializerSettings()
- {
- ContractResolver = new CamelCasePropertyNamesContractResolver()
- };
- var json = JsonConvert.SerializeObject(new
- {
- result = true,
- roomID,
- user = authorUser,
- item = item
- }, _serializationSettings);
- // вытаскиваем всех юзеров которые это могут получить из connections
- var s = new SignalRHub();
- var allConnections = s.GetConnectionsInfo();
- var connectionIDs = new List<string>();
- var context = GlobalHost.ConnectionManager.GetHubContext<SignalRHub>();
- var usernames = users.Select(x => x.Username).ToList();
- var selConnections = allConnections.Where(x => usernames.Contains(x.data.username)).ToList();
- if (selConnections.Count > 0)
- {
- var ids = selConnections.Select(x => x.id).ToList();
- context.Clients.Clients(ids).messageReceived(json);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement