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

UpdateConnectionRecordRoom() public method

public UpdateConnectionRecordRoom ( Christoc.Modules.DnnChat.Components.ConnectionRecordRoom t ) : void
t Christoc.Modules.DnnChat.Components.ConnectionRecordRoom
return void
        public void UpdateConnectionRecordRoom(ConnectionRecordRoom t)
        {
            using (IDataContext ctx = DataContext.Instance())
            {
                var rep = ctx.GetRepository<ConnectionRecordRoom>();
                rep.Update(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));
        }