Chat.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using Microsoft.AspNetCore.SignalR;
  2. using MTWorkHR.Application.Identity;
  3. using MTWorkHR.Core.Global;
  4. using MTWorkHR.Core.UnitOfWork;
  5. namespace MTWorkHR.API.Chat
  6. {
  7. public class Chat : Hub
  8. {
  9. private readonly IUnitOfWork _unitOfWork;
  10. public Chat(IUnitOfWork unitOfWork)
  11. {
  12. _unitOfWork = unitOfWork;
  13. }
  14. public async Task getOnlineUsers()
  15. {
  16. //var allConnections = await _unitOfWork.Connection.GetAllAsync();
  17. //var currUserId = allConnections.Item1.Where(c => c.SignalrId == Context.ConnectionId).Select(c => c.UserId).SingleOrDefault();
  18. //List<User> onlineUsers = allConnections
  19. // .Where(c => c.PersonId != currUserId)
  20. // .Select(c =>
  21. // new UserDto(c.PersonId, ctx.Person.Where(p => p.Id == c.PersonId).Select(p => p.Name).SingleOrDefault(), c.SignalrId)
  22. // ).ToList();
  23. //await Clients.Caller.SendAsync("getOnlineUsersResponse", onlineUsers);
  24. }
  25. public async Task sendMsg(string connId, string msg)
  26. {
  27. await Clients.Client(connId).SendAsync("sendMsgResponse", Context.ConnectionId, msg);
  28. }
  29. }
  30. }