public bool Handle(IPacket header, IIBLVMSocket socket)
        {
            if (header.Type == PacketType.ManagerBitLockerLock)
            {
                Utils.PacketValidation(socket.Status, (int)ClientSocketStatus.LoggedIn, header.GetPayloadSize(), false);
                IPayload <ClientDrive> packet = socket.PacketFactory.CreateManagerBitLockerLockRequest(null);
                packet.ParsePayload(header.GetPayloadSize(), socket.SocketStream);

                IDevice receiver = (from device in deviceController.GetUserDevices(session.Account.Id) where device.DeviceIP.Equals(packet.Payload.IP) select device).FirstOrDefault();
                if (receiver != null)
                {
                    Utils.SendPacket(socket.SocketStream, socket.PacketFactory.CreateServerBitLockerCommandResponse(broadcaster.RequestBitLockerLock(receiver, packet.Payload.Drive)));
                }
                else
                {
                    Utils.SendPacket(socket.SocketStream, socket.PacketFactory.CreateServerBitLockerCommandResponse(false));
                }

                return(true);
            }

            return(false);
        }
        public bool Handle(IPacket header, IIBLVMSocket socket)
        {
            if (header.Type == PacketType.ManagerDevicesRequest)
            {
                Utils.PacketValidation(socket.Status, (int)SocketStatus.LoggedIn, header.GetPayloadSize(), true);
                IPayload <IDevice[]> packet = socket.PacketFactory.CreateServerDevicesResponse(deviceController.GetUserDevices(session.Account.Id));

                Utils.SendPacket(socket.SocketStream, packet);
                return(true);
            }

            return(false);
        }