Christoc.Modules.DnnChat.Components.ConnectionRecordController.GetConnectionRecordByConnectionId C# (CSharp) Method

GetConnectionRecordByConnectionId() public method

public GetConnectionRecordByConnectionId ( string connectionId ) : ConnectionRecord
connectionId string
return ConnectionRecord
        public ConnectionRecord GetConnectionRecordByConnectionId(string connectionId)
        {
            ConnectionRecord t;
            using (IDataContext ctx = DataContext.Instance())
            {
                var connections = ctx.ExecuteQuery<ConnectionRecord>(CommandType.Text,
                                                       string.Format(
                                                           "select top 1 * from {0}{1}DnnChat_ConnectionRecords where ConnectionId = '{2}'",
                                                           _databaseOwner,
                                                           _objectQualifier,
                                                          connectionId)).ToList();

                if (connections.Any())
                {
                    t = connections[0];
                }
                else
                    return null;
            }
            return t;
        }

Usage Example

Example #1
0
        //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));
        }
All Usage Examples Of Christoc.Modules.DnnChat.Components.ConnectionRecordController::GetConnectionRecordByConnectionId