Christoc.Modules.DnnChat.Components.ConnectionRecordRoomController.GetConnectionRecordRoomByConnectionRecordId C# (CSharp) Method

GetConnectionRecordRoomByConnectionRecordId() public method

public GetConnectionRecordRoomByConnectionRecordId ( int connectionRecordId, System.Guid roomId ) : Christoc.Modules.DnnChat.Components.ConnectionRecordRoom
connectionRecordId int
roomId System.Guid
return Christoc.Modules.DnnChat.Components.ConnectionRecordRoom
        public ConnectionRecordRoom GetConnectionRecordRoomByConnectionRecordId(int connectionRecordId, Guid roomId)
        {
            try
            {
                ConnectionRecordRoom t;
                using (IDataContext ctx = DataContext.Instance())
                {
                    var rooms = ctx.ExecuteQuery<ConnectionRecordRoom>(CommandType.Text,
                                                           string.Format(
                                                               "select top 1 * from {0}{1}DnnChat_ConnectionRecordRooms where ConnectionRecordId = '{2}' and RoomId = '{3}'",
                                                               _databaseOwner,
                                                               _objectQualifier,
                                                              connectionRecordId, roomId)).ToList();

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

            }
            catch (Exception exc)
            {
                return null;
            }
        }

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.ConnectionRecordRoomController::GetConnectionRecordRoomByConnectionRecordId