Esempio n. 1
0
 public async Task AddUserRoom(string roomName, string addName)
 {
     var nameID = chatClients.Where(s => s.Key == addName).Select(s => s.Value.ID).First();
     await Groups.AddToGroupAsync(nameID, roomName);
 }
Esempio n. 2
0
 public Task AddSelfToGroup(string groupName)
 {
     return(Groups.AddToGroupAsync(Context.ConnectionId, groupName));
 }
Esempio n. 3
0
 public async Task AddUserToGroup(string group)
 {
     await Groups.AddToGroupAsync(Context.ConnectionId, group);
 }
 //Not working in IIS Express, but working in debug mode
 //Working in Production Mode
 //Don't know why
 public Task JoinGroup(string group)
 {
     return(Groups.AddToGroupAsync(Context.ConnectionId, group));
 }
Esempio n. 5
0
        /*
         * [HubMethodName("getTeam")]
         * public async System.Threading.Tasks.Task GetTeam(JObject request)
         * {
         *  string errorMsg = string.Empty;
         *  int status = 0;
         *  MessengerHubResponse<ChatTeamViewModel> result = null;
         *  string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.GetTeam);
         *  //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>();
         *  try
         *  {
         *      if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered))
         *      {
         *          ChatTeamViewModel team = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetSingleModelAsync(t => t.Id == request.TeamId);
         *
         *          team.IsNewMessage = TTXTeamMessageRepository<TeamMessage>.Instance.CountUnseenMessage(team.Id, request.UserId) > 0;
         *
         *          if (team != null)
         *          {
         *              team.IsAdmin = request.UserId == team.HostId;
         *              if (team.IsAdmin)
         *              {
         *                  team.TotalRequest = TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CountRequests(request.TeamId);
         *              }
         *
         *              result = new MessengerHubResponse<ChatTeamViewModel>()
         *              {
         *                  status = 1,
         *                  responseKey = string.Format("{0}", action),
         *                  data = team,
         *                  errors = null
         *              };
         *          }
         *          else
         *          {
         *              result = new MessengerHubResponse<ChatTeamViewModel>()
         *              {
         *                  status = 0,
         *                  responseKey = TeamMessageReponseKey.NotMembered.ToString(),
         *                  data = null,
         *                  errors = null
         *              };
         *          }
         *      }
         *      else
         *      {
         *          result = new MessengerHubResponse<ChatTeamViewModel>()
         *          {
         *              status = 0,
         *              responseKey = GameResponseKey.NotAuthorized.ToString(),
         *              data = null,
         *              errors = new List<string>() { "You are not membered of this team" }
         *          };
         *          Clients.Caller.receiveMessage(result);
         *      }
         *  }
         *  catch (Exception ex)
         *  {
         *      result = new MessengerHubResponse<ChatTeamViewModel>()
         *      {
         *          status = 0,
         *          responseKey = string.Format("{0}", action),
         *          data = null,
         *          error = ex.StackTrace
         *      };
         *  }
         *  finally
         *  {
         *      Clients.Caller.receiveMessage(result);
         *      UpdatePlayerConnectionIdAsync(request.UserId);
         *  }
         * }
         *
         * [HubMethodName("getTeamMessages")]
         * public async System.Threading.Tasks.Task GetTeamMessages(ApiGetTeamMemberViewMdoel request)
         * {
         *  string errorMsg = string.Empty;
         *  int status = 0;
         *  MessengerHubResponse<ChatTeamViewModel> result = null;
         *  string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.GetTeamMessages);
         *  //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>();
         *  try
         *  {
         *      if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered))
         *      {
         *          //var messages = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetModelListByAsync(m => m.Id == request.TeamId, m => m.CreatedDate, "desc", 0, 10);
         *          ChatTeamViewModel team = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetSingleModelAsync
         *              (t => t.Id == request.TeamId);
         *          TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.UpdateLastSeenMessages(request.UserId, request.TeamId);
         *          result = new MessengerHubResponse<ChatTeamViewModel>()
         *          {
         *              status = 1,
         *              responseKey = string.Format("{0}", action),
         *              data = team,
         *              errors = null
         *          };
         *      }
         *      else
         *      {
         *          result = new MessengerHubResponse<ChatTeamViewModel>()
         *          {
         *              status = 0,
         *              responseKey = GameResponseKey.NotAuthorized.ToString(),
         *              data = null,
         *              errors = new List<string>() { "You are not membered of this team" }
         *          };
         *          Clients.Caller.receiveMessage(result);
         *      }
         *  }
         *  catch (Exception ex)
         *  {
         *      result = new MessengerHubResponse<ChatTeamViewModel>()
         *      {
         *          status = 0,
         *          responseKey = string.Format("{0}", action),
         *          data = null,
         *          error = ex.StackTrace
         *      };
         *  }
         *  finally
         *  {
         *      Clients.Caller.receiveMessage(result);
         *      UpdatePlayerConnectionIdAsync(request.UserId);
         *  }
         * }
         *
         * [HubMethodName("seenTeamMessages")]
         * public async Task LeaveTeamMessagesAsync(ApiGetTeamMemberViewMdoel request)
         * {
         *  if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered))
         *  {
         *      TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.UpdateLastSeenMessages(request.UserId, request.TeamId);
         *      MessengerHubResponse<bool> result = new MessengerHubResponse<bool>()
         *      {
         *          status = 1,
         *          responseKey = Enum.GetName(typeof(ApiResponseKey), ApiResponseKey.Succeed),
         *          data = true
         *      };
         *      Clients.Caller.receiveMessage(result);
         *  }
         *  UpdatePlayerConnectionIdAsync(request.UserId);
         * }
         *
         * [HubMethodName("getTeamNotifications")]
         * public async System.Threading.Tasks.Task GetTeamNotifications(ApiGetTeamMemberViewMdoel request)
         * {
         *  string errorMsg = string.Empty;
         *  string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.GetTeamNotifications);
         *  try
         *  {
         *      switch (request.MemberStatus)
         *      {
         *          case MemberStatus.Requested:
         *              var requests = await TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.GetModelListByAsync(m => m.TTX_Team.HostId == request.UserId && m.TeamId == request.TeamId && m.Status == (int)MemberStatus.Requested);
         *              if (requests.Count > 0)
         *              {
         *                  var lastSeenTeamRequest = DAL.TTXApp.TTXUserLogDAL.Instance.GetSingleModel(l => l.UserId == request.UserId
         *              && l.Action == TTXUserLogActions.LastSeenTeamRequest.ToString());
         *                  requests.ForEach(i => i.IsNew = lastSeenTeamRequest == null || lastSeenTeamRequest.LastUpdate.Value < i.CreatedDate);
         *
         *                  if (lastSeenTeamRequest == null)
         *                  {
         *                      lastSeenTeamRequest = new TTX_User_Log()
         *                      {
         *                          Id = Guid.NewGuid(),
         *                          Action = TTXUserLogActions.LastSeenTeamRequest.ToString(),
         *                          UserId = request.UserId,
         *                          CreatedDate = DateTime.UtcNow,
         *                          LastUpdate = DateTime.UtcNow
         *                      };
         *                  }
         *                  else
         *                  {
         *                      lastSeenTeamRequest.LastUpdate = DateTime.UtcNow;
         *                  }
         *                  TTXUserLogDAL.Instance.SaveModel(lastSeenTeamRequest);
         *              }
         *
         *              MessengerHubResponse<List<FETeamMemberViewModel>> result = new MessengerHubResponse<List<FETeamMemberViewModel>>()
         *              {
         *                  status = 1,
         *                  responseKey = string.Format("{0}", action),
         *                  data = requests.OrderByDescending(r => r.CreatedDate).ToList(),
         *                  errors = null
         *              };
         *
         *              Clients.Caller.receiveMessage(result);
         *
         *              break;
         *
         *          case MemberStatus.Invited:
         *              var invitations = await TTXTeamMemberRepository<InvitationViewModel>.Instance.GetModelListByAsync(m => m.MemberId == request.UserId && m.Status == (int)MemberStatus.Invited);
         *              var lastSeenTeamInvitation = DAL.TTXApp.TTXUserLogDAL.Instance.GetSingleModel(l => l.UserId == request.UserId
         *              && l.Action == TTXUserLogActions.LastSeenTeamInvitation.ToString());
         *              invitations.ForEach(i => i.IsNew = lastSeenTeamInvitation == null || lastSeenTeamInvitation.LastUpdate.Value < i.CreatedDate);
         *
         *              if (lastSeenTeamInvitation == null)
         *              {
         *                  lastSeenTeamInvitation = new TTX_User_Log()
         *                  {
         *                      Id = Guid.NewGuid(),
         *                      Action = TTXUserLogActions.LastSeenTeamInvitation.ToString(),
         *                      UserId = request.UserId,
         *                      CreatedDate = DateTime.UtcNow,
         *                      LastUpdate = DateTime.UtcNow
         *                  };
         *              }
         *              else
         *              {
         *                  lastSeenTeamInvitation.LastUpdate = DateTime.UtcNow;
         *              }
         *              TTXUserLogDAL.Instance.SaveModel(lastSeenTeamInvitation);
         *
         *              MessengerHubResponse<List<InvitationViewModel>> inviteResult = new MessengerHubResponse<List<InvitationViewModel>>()
         *              {
         *                  status = 1,
         *                  responseKey = string.Format("{0}", action),
         *                  data = invitations.OrderByDescending(r => r.CreatedDate).ToList(),
         *                  errors = null
         *              };
         *
         *              Clients.Caller.receiveMessage(inviteResult);
         *
         *              break;
         *
         *          case MemberStatus.AdminRejected:
         *              break;
         *
         *          case MemberStatus.MemberRejected:
         *              break;
         *
         *          case MemberStatus.Banned:
         *              break;
         *
         *          case MemberStatus.Membered:
         *              break;
         *
         *          case MemberStatus.AdminRemoved:
         *              break;
         *
         *          case MemberStatus.MemberCanceled:
         *              break;
         *
         *          case MemberStatus.Guest:
         *              break;
         *
         *          default:
         *              break;
         *      }
         *  }
         *  catch (Exception ex)
         *  {
         *  }
         *  finally
         *  {
         *      UpdatePlayerConnectionIdAsync(request.UserId);
         *  }
         * }
         *
         * [HubMethodName("getMyTeams")]
         * public async System.Threading.Tasks.Task GetMyTeams(RequestPaging request)
         * {
         *  string errorMsg = string.Empty;
         *  int status = 0;
         *  MessengerHubResponse<PaginationModel<ChatTeamViewModel>> result = null;
         *  string action = "GetMyTeams";
         *  //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>();
         *  try
         *  {
         *      PaginationModel<ChatTeamViewModel> teams = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetModelListByAsync(
         *          t => t.TTX_Team_Member.Count(m => m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered) > 0,
         *          t => t.CreatedDate, "desc", request.PageIndex, request.PageSize
         *              );
         *      result = new MessengerHubResponse<PaginationModel<ChatTeamViewModel>>()
         *      {
         *          status = 1,
         *          responseKey = string.Format("{0}", action),
         *          data = teams,
         *          errors = null
         *      };
         *  }
         *  catch (Exception ex)
         *  {
         *      result = new MessengerHubResponse<PaginationModel<ChatTeamViewModel>>()
         *      {
         *          status = 0,
         *          responseKey = action,
         *          data = null,
         *          error = ex.StackTrace
         *      };
         *  }
         *  finally
         *  {
         *      Clients.Caller.receiveMessage(result);
         *      UpdatePlayerConnectionIdAsync(request.UserId);
         *  }
         * }
         *
         * [HubMethodName("removeTeam")]
         * public async System.Threading.Tasks.Task RemoveTeam(ApiGetTeamMemberViewMdoel request)
         * {
         *  string errorMsg = string.Empty;
         *  int status = 0;
         *  MessengerHubResponse<bool> result = null;
         *  string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.RemovedTeam);
         *  //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>();
         *  try
         *  {
         *      if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered))
         *      {
         *          var removeResult = await TTXTeamRepository<ChatTeamViewModel>.Instance.RemoveModelAsync(t => t.Id == request.TeamId);
         *
         *          if (removeResult.IsSucceed)
         *          {
         *              result = new MessengerHubResponse<bool>()
         *              {
         *                  status = 1,
         *                  responseKey = string.Format("{0}", action),
         *                  data = removeResult.IsSucceed,
         *                  errors = null
         *              };
         *          }
         *          else
         *          {
         *              result = new MessengerHubResponse<bool>()
         *              {
         *                  status = 0,
         *                  responseKey = TeamMessageReponseKey.NotMembered.ToString(),
         *                  data = false,
         *                  errors = null
         *              };
         *          }
         *      }
         *      else
         *      {
         *          result = new MessengerHubResponse<bool>()
         *          {
         *              status = 0,
         *              responseKey = GameResponseKey.NotAuthorized.ToString(),
         *              data = false,
         *              errors = new List<string>() { "You are not membered of this team" }
         *          };
         *          Clients.Caller.receiveMessage(result);
         *      }
         *  }
         *  catch (Exception ex)
         *  {
         *      result = new MessengerHubResponse<bool>()
         *      {
         *          status = 0,
         *          responseKey = string.Format("{0}", action),
         *          data = false,
         *          error = ex.StackTrace
         *      };
         *  }
         *  finally
         *  {
         *      Clients.Caller.receiveMessage(result);
         *      UpdatePlayerConnectionIdAsync(request.UserId);
         *  }
         * }
         */

        #endregion Team - TODO Write these functions

        #region Overrides

        public override async Task OnConnectedAsync()
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, defaultRoom);

            await base.OnConnectedAsync();
        }
Esempio n. 6
0
        public async System.Threading.Tasks.Task JoinGroup(string group, string user)
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, group);

            await Clients.Group(group).SendAsync("ReceiveJoinGroup", user, await GetUsername(user));
        }
Esempio n. 7
0
        public async Task AddToGroup(string groupName)
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, groupName);

            await Clients.Group(groupName).SendAsync("Send", $"{GetUsername()} has joined the group");
        }
 public async Task AssociateJob(string jobId)
 {
     await Groups.AddToGroupAsync(Context.ConnectionId, jobId);
 }
Esempio n. 9
0
 public async Task JoinRoom(string room)
 {
     await Groups.AddToGroupAsync(Context.ConnectionId, room);
 }
Esempio n. 10
0
 public async Task Subscribe(string taskId)
 {
     await Groups.AddToGroupAsync(Context.ConnectionId, GetGroup(taskId));
 }
 public async Task JoinGroup([SignalRTrigger] InvocationContext invocationContext, string connectionId, string groupName)
 {
     await Groups.AddToGroupAsync(connectionId, groupName);
 }
Esempio n. 12
0
 /// <summary>
 /// 加入分组
 /// </summary>
 /// <param name="groupName"></param>
 /// <returns></returns>
 public async Task AddToGroupAsync(string groupName)
 {
     await Groups.AddToGroupAsync(this.Context.ConnectionId, groupName);
 }
Esempio n. 13
0
        /*
         * Bildirilen / nezerde tutulan client-la elaqe qurur.
         */
        //public Task SendMessageAsync(IEnumerable<string> connectionIds, string message)
        //{
        //    return Clients.Client(connectionIds.First()).ReceiveMessage(message);
        //}


        #endregion
        #region Clients

        /*
         * Bildirilen / nezerde tutulan client-larla elaqe qurur.
         */



        #endregion
        #region Group

        /*
         * Group-a subscribe olan butun clientlarla elaqe qurur yeni qrup daxili,
         * oncelikle mueyyen qruplar yaradilmalidir sonra client-lar o qruplara subscribe olmalidir.
         */


        /*
         * Ilk once istifadecinin secdiyi group hub yonlendirilir varsa hemin groupa subscribe
         * olur yoxdursa hemin group yaradilir subscribe olur
         */
        public async Task AddGroup(string connectionID, string groupName)
        {
            await Groups.AddToGroupAsync(connectionID, groupName);
        }
Esempio n. 14
0
 public Task JoinAuthGroup()
 {
     return(Groups.AddToGroupAsync(Context.ConnectionId, "AuthGroup"));
 }
Esempio n. 15
0
 public async Task JoinWorkspacesAdmin()
 {
     await Groups.AddToGroupAsync(Context.ConnectionId, nameof(HubGroups.WorkspacesAdmin));
 }
Esempio n. 16
0
        public override async Task OnConnectedAsync()
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, "SignalR Users").ConfigureAwait(true);

            await base.OnConnectedAsync().ConfigureAwait(false);
        }
Esempio n. 17
0
        //
        public async Task AddToGroup(string groupName, string user)
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, groupName);

            await Clients.Group(groupName).SendAsync("Entered", user);
        }
Esempio n. 18
0
        public async Task SendChangeRoom(string roomDisconnect, string roomConnect)
        {
            await Groups.RemoveFromGroupAsync(Context.ConnectionId, roomDisconnect);

            await Groups.AddToGroupAsync(Context.ConnectionId, roomConnect);
        }
Esempio n. 19
0
        public async Task RegisterHelpdeskClient()
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, "HelpdeskClients");

            await Clients.Caller.SendAsync("ClientListUpdate", ConnectedClients);
        }
Esempio n. 20
0
 public override Task OnConnectedAsync()
 {
     Console.WriteLine($"{Context.ConnectionId} connected");
     Groups.AddToGroupAsync(Context.ConnectionId, "principal");
     return(base.OnConnectedAsync());
 }
Esempio n. 21
0
        public async Task <string> ConnectToShoppingGroup(Guid groupName)
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, groupName.ToString());

            return("ConnectToShoppingGroup");
        }
Esempio n. 22
0
 public Task JoinGameGroup(int gameId)
 {
     return(Groups.AddToGroupAsync(Context.ConnectionId, "Game" + gameId.ToString()));
 }
 Task AddToGroupAsync(string sessionId)
 {
     return(Groups.AddToGroupAsync(Context.ConnectionId, sessionId));
 }
Esempio n. 24
0
        public async Task <string> JoinGame(int gameId)
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, gameId.ToString());

            return(Context.ConnectionId);
        }
Esempio n. 25
0
 public Task JoinRoom(string chatroomId)
 {
     return(Groups.AddToGroupAsync(Context.ConnectionId, chatroomId));
 }
Esempio n. 26
0
 public async Task JoinProject(Guid projectId)
 {
     await Groups.AddToGroupAsync(Context.ConnectionId, projectId.ToString());
 }
Esempio n. 27
0
        public async Task JoinGroup(string groupName)
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, groupName);

            await Clients.Client(Context.ConnectionId).SendAsync(ClientSyncConstants.JoinedGroup);
        }
Esempio n. 28
0
 public async Task JoinWorkspace(Guid workspaceId)
 {
     await Groups.AddToGroupAsync(Context.ConnectionId, workspaceId.ToString());
 }
Esempio n. 29
0
 public Task GroupAddMethod(string groupName)
 {
     return(Groups.AddToGroupAsync(Context.ConnectionId, groupName));
 }
Esempio n. 30
0
 public async Task CreateRoom(string roomName)
 {
     chatRoom.Add(roomName);
     await Groups.AddToGroupAsync(Context.ConnectionId, roomName);
 }