예제 #1
0
        public override void ProcessMessage(ComputerRecord callingComputer, Message request, Message response)
        {
            //validate input
            if (!request.Values.ContainsKey("HomeID"))
            {
                response.ErrorMessage = "Home ID not set";
                return;
            }
            if (!request.Values.ContainsKey("NodeID"))
            {
                response.ErrorMessage = "Node ID not set";
                return;
            }
            if (!request.Values.ContainsKey("DeviceName"))
            {
                response.ErrorMessage = "Device Name not set.";
                return;
            }
            if (!request.Values.ContainsKey("DeviceType"))
            {
                response.ErrorMessage = "Device Type not set.";
                return;
            }

            //read input
            uint homeId;
            byte nodeId;
            string deviceName;
            ZWaveDeviceType deviceType;
            try
            {
                homeId = Convert.ToUInt32(request.Values["HomeID"]);
                nodeId = Convert.ToByte(request.Values["NodeID"]);
                deviceName = request.Values["DeviceName"];
                deviceType = ZWaveDeviceType.GetTypeFromString(request.Values["DeviceType"]);
            }
            catch
            {
                response.ErrorMessage = "Error parsing input.";
                return;
            }

            ComputerRecord computer = callingComputer;
            UserEntry user = callingComputer.User;
            ZWaveNetworkRecord networkRecord = ZWaveManager.GetNetwork(user, homeId);

            ZWaveManager.RegisterZWaveDevice(networkRecord, nodeId, deviceName, deviceType);

            response.Values.Add("Response", "Device added. HomeID=" + homeId + ", NodeID=" + nodeId + ", Name=\"" + deviceName + "\" Type=\"" + deviceType + "\"");
        }
        public void Setup()
        {
            AssetHolder    ah  = Substitute.For <AssetHolder>();
            ComputerRecord rec = Substitute.For <ComputerRecord>();

            rec.Holder = ah;

            Asset1 = Substitute.For <Computer>();
            Asset2 = Substitute.For <Computer>();

            Asset1.ComputerRecords.Add(rec);
            Asset2.ComputerRecords.Add(rec);
            Asset1.PcName = "pc1";
            Asset2.PcName = "pc2";
        }
예제 #3
0
        public override void ProcessMessage(ComputerRecord callingComputer, Message request, Message response)
        {
            //validate input
            if (!request.Values.ContainsKey("HomeID"))
            {
                response.ErrorMessage = "Home ID not set";
                return;
            }
            if (!request.Values.ContainsKey("NodeID"))
            {
                response.ErrorMessage = "Node ID not set";
                return;
            }

            //read input
            uint? homeId;
            byte nodeId;
            try
            {
                homeId = Convert.ToUInt32(request.Values["HomeID"]);
                nodeId = Convert.ToByte(request.Values["NodeID"]);
            }
            catch
            {
                response.ErrorMessage = "Error parsing input.";
                return;
            }

            UserEntry userRecord = callingComputer.User;
            ZWaveNetworkRecord networkRecord = ZWaveManager.GetNetwork(userRecord, homeId);

            ZWaveDeviceRecord record = ZWaveManager.GetDevice(networkRecord, nodeId);

            if(record == null)
            {
                response.ErrorMessage = "Could not find device to delete";
                return;
            }

            record.DeleteRecord();

            response.Values.Add("Response", "Device with HomeID=" + homeId + "and NodeID= " + nodeId + " deleted.");
        }
예제 #4
0
파일: SendEmail.cs 프로젝트: Mavtak/roomie
        public override void ProcessMessage(ComputerRecord callingComputer, Message request, Message response)
        {
            if (!request.Values.ContainsKey("To"))
            {
                response.ErrorMessage = "To not set.";
                return;
            }
            if (!request.Values.ContainsKey("Subject"))
            {
                response.ErrorMessage = "Subject not set.";
                return;
            }
            if (!request.Values.ContainsKey("Body"))
            {
                response.ErrorMessage = "Body not set.";
                return;
            }

            string to = request.Values["To"];
            string subject = request.Values["Subject"];
            string body = request.Values["Body"];

            bool sent;

            try
            {
                sent = Roomie.WebService.Common.MailerBot.SendMessage(to, subject, body);
                if (sent)
                    response.Values.Add("Response", "mail sent.");
                else
                    response.ErrorMessage = "unknown error sending message to " + to;
            }
            catch(System.Security.SecurityException)
            {
                response.ErrorMessage = "Server denied from sending mail.";
            }
        }