//This method is to populate/join room
public Task LeaveRoom(Guid roomId, int moduleId)
{
var crc = new ConnectionRecordController();
var crrc = new ConnectionRecordRoomController();
var rc = new RoomController();
var c = crc.GetConnectionRecordByConnectionId(Context.ConnectionId) ?? SetupConnectionRecord();
//lookup client room connection record, if there don't add
var connectionRoom = crrc.GetConnectionRecordRoomByConnectionRecordId(c.ConnectionRecordId, roomId);
if (connectionRoom != null)
{
connectionRoom.DepartedDate = DateTime.UtcNow;
crrc.UpdateConnectionRecordRoom(connectionRoom);
var removeUser = Users.Find(conRec => (conRec.Id == connectionRoom.Id));
Users.Remove(removeUser);
}
//Remove the user from the SignalR Group (broadcast)
Groups.Remove(Context.ConnectionId, roomId.ToString());
return(Clients.Group(roomId.ToString()).updateUserList(Users.FindAll(cc => (cc.RoomId == roomId)), roomId));
}