示例#1
0
        /*************** END DEBUG MODE METHOD *************/

        static public bool AddDeviceBlob(JObject blob)
        {
            string blob_string = blob.ToString();
            Device dev         = Interfaces.CreateDevices(blob_string, new TimeFrame());       // to convert the JSON blob to an actual Device object.

            ulong devID   = (ulong)blob ["deviceID"];
            ulong roomID  = (ulong)blob ["roomID"];
            ulong houseID = (ulong)blob ["houseID"];

            FullID fullID = new FullID();

            fullID.DeviceID = devID;
            fullID.RoomID   = roomID;
            fullID.HouseID  = houseID;

            deviceBlobs.Add(fullID, dev);

            if (deviceBlobs.Contains(dev))
            {
                // Arjun -- add push notification code here

                return(true);
            }

            return(false);
        }
示例#2
0
        static public JToken GetDeviceBlob(FullID fullID)
        {
            Device dev = deviceBlobs [fullID];

            deviceBlobs.Remove(fullID);
            return(dev.ToString());             // implicit conversion
        }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var id = new FullID();

            id.DeviceID = (UInt64)reader.Value;
            return(id);
        }
        private void processInsertEdgeCommand(Command command)
        {
            var parameters         = command.GetParameters();
            var commandClientID    = command.__getClientID();
            var verticesDictionary = graph_.__getVerticesDictionary();

            var fromVertex = verticesDictionary.Find(FullID.FromString(parameters[0]));
            var endVertex  = verticesDictionary.Find(FullID.FromString(parameters[1]));

            if (fromVertex == null || endVertex == null)
            {
                return;
            }

            if (fromVertex.IsConnectedTo(endVertex))
            {
                return;
            }

            var edgeFullID = new FullID(commandClientID, int.Parse(parameters[2]));

            Edge edge = fromVertex.__connectTo(endVertex, edgeFullID);

            if (graph_.IsLoading() && commandClientID == graph_.__getClientID())
            {
                graph_.__setLastCreatedEdgeID(edgeFullID.GetIDinCreator());
            }

            graph_.__raiseEdgeAddedEvent(edge);
        }
示例#5
0
        internal Vertex __insertVertex(Point3D position, FullID fullID)
        {
            var vertex = new Vertex(this, position, fullID,
                                    verticesDictionary_.GetAllItems().Count);

            verticesDictionary_.Add(vertex);

            return(vertex);
        }
示例#6
0
 internal Edge(Vertex startVertex, Vertex endVertex, FullID fullID, Graph graph)
 {
     startVertex_ = startVertex;
     endVertex_   = endVertex;
     edgeLines_   = new List <EdgeLine>();
     edgeLines_.Add(new EdgeLine(this, null, null));
     fullID_     = fullID;
     graph_      = graph;
     properties_ = new Dictionary <string, Dictionary <string, string> >();
 }
示例#7
0
        internal Edge __connectTo(Vertex endVertex, FullID edgeFullID)
        {
            var edge = new Edge(this, endVertex, edgeFullID, graph_);

            graph_.__getEdgesDictionary().Add(edge);
            edges_.Add(edge);
            endVertex.edges_.Add(edge);

            return(edge);
        }
示例#8
0
 internal Vertex(Graph graph, Point3D position, FullID fullID, int index)
 {
     graph_      = graph;
     properties_ = new Dictionary <string, Dictionary <string, string> >();
     edges_      = new List <Edge>();
     position_   = position;
     rotation_   = new Point4D(0, 0, 1, 1);
     scale_      = 1;
     fullID_     = fullID;
     index_      = index;
 }
        private void processRemoveVertexCommand(Command command)
        {
            var parameters         = command.GetParameters();
            var verticesDictionary = graph_.__getVerticesDictionary();

            var vertex = verticesDictionary.Find(FullID.FromString(parameters[0]));

            graph_.__removeVertex(vertex);

            graph_.__raiseVertexRemovedEvent(vertex);
        }
        private void processRemoveEdgeCommand(Command command)
        {
            var parameters      = command.GetParameters();
            var edgesDictionary = graph_.__getEdgesDictionary();

            var edge = edgesDictionary.Find(FullID.FromString(parameters[0]));

            graph_.__removeEdge(edge);

            graph_.__raiseEdgeRemovedEvent(edge);
        }
示例#11
0
        public Vertex AddVertex(Point3D position)
        {
            int IDinCreator = ++lastCreatedVertexID_;
            var fullID      = new FullID(clientID_, IDinCreator);

            var vertex = __insertVertex(position, fullID);

            commandSender_.__sendInsertVertexCommand(vertex);

            return(vertex);
        }
示例#12
0
        public Thermostat GetThermostat()
        {
            var          id           = new FullID(0, 0, 2);
            const string HouseString  = "{\"house_url\":\"http://127.0.0.1:8081\"}";
            const string DeviceString = "{\"ID\": 2, \"Class\": \"Thermostat\"}";
            var          dev_out      = ServerSideAPI.CreateDevice(id, HouseString, DeviceString, _frame);

            Assert.IsNotNull(dev_out);
            Assert.AreEqual(dev_out.Input.GetType(), typeof(HouseInput));
            Assert.AreEqual(dev_out.Output.GetType(), typeof(HouseOutput));

            return(dev_out as Thermostat);
        }
        private void processRemoveBendCommand(Command command)
        {
            var parameters      = command.GetParameters();
            var edgesDictionary = graph_.__getEdgesDictionary();

            var edge = edgesDictionary.Find(FullID.FromString(parameters[0]));

            if (edge == null)
            {
                return;
            }

            var bend = edge.__removeBend(int.Parse(parameters[1]));

            graph_.__raiseBendRemovedEvent(bend);
        }
        private void processSetEdgePropertyCommand(Command command)
        {
            var parameters      = command.GetParameters();
            var edgesDictionary = graph_.__getEdgesDictionary();

            var edge = edgesDictionary.Find(FullID.FromString(parameters[0]));

            if (edge == null)
            {
                return;
            }

            edge.__setProperty(parameters[1], parameters[2], parameters[3]);

            graph_.__raiseEdgePropertyChangedEvent(edge, parameters[1], parameters[2]);
        }
        private void processSetVertexPropertyCommand(Command command)
        {
            var parameters         = command.GetParameters();
            var verticesDictionary = graph_.__getVerticesDictionary();

            var vertex = verticesDictionary.Find(FullID.FromString(parameters[0]));

            if (vertex == null)
            {
                return;
            }

            vertex.__setProperty(parameters[1], parameters[2], parameters[3]);

            graph_.__raiseVertexPropertyChangedEvent(vertex, parameters[1], parameters[2]);
        }
示例#16
0
        public void SetLightTest()
        {
            var          id           = new FullID(0, 0, 0);
            const string HouseString  = "{\"house_url\":\"http://127.0.0.1:8081\"}";
            const string DeviceString = "{\"ID\": 0, \"Class\": \"LightSwitch\"}";
            var          dev_out      = ServerSideAPI.CreateDevice(id, HouseString, DeviceString, _frame);

            Assert.IsNotNull(dev_out);
            var ls = (LightSwitch)dev_out;

            Assert.IsNotNull(ls);
            ls.Enabled = true;

            Assert.IsTrue(ls.Enabled);
            Assert.IsTrue(ls.UpdateOk);
            Assert.AreEqual(ls.Value.Brightness, 1.0);
        }
        private void processChangeVertexScaleCommand(Command command)
        {
            var parameters         = command.GetParameters();
            var verticesDictionary = graph_.__getVerticesDictionary();

            var vertex = verticesDictionary.Find(FullID.FromString(parameters[0]));

            if (vertex == null)
            {
                return;
            }

            var scale = double.Parse(parameters[1]);

            vertex.__setScale(scale);

            graph_.__raiseVertexScaleChangedEvent(vertex);
        }
        private void processInsertVertexCommand(Command command)
        {
            var parameters      = command.GetParameters();
            var commandClientID = command.__getClientID();


            var position = new Point3D(double.Parse(parameters[1]),
                                       double.Parse(parameters[2]), double.Parse(parameters[3]));
            var    vertexFullID   = new FullID(commandClientID, int.Parse(parameters[0]));
            Vertex insertedVertex = graph_.__insertVertex(position, vertexFullID);

            if (graph_.IsLoading() && commandClientID == graph_.__getClientID())
            {
                graph_.__setLastCreatedVertexID(vertexFullID.GetIDinCreator());
            }

            graph_.__raiseVertexAddedEvent(insertedVertex);
        }
        private void processMoveVertexCommand(Command command)
        {
            var parameters         = command.GetParameters();
            var verticesDictionary = graph_.__getVerticesDictionary();

            var vertex = verticesDictionary.Find(FullID.FromString(parameters[0]));

            if (vertex == null)
            {
                return;
            }

            var position = new Point3D(double.Parse(parameters[1]),
                                       double.Parse(parameters[2]), double.Parse(parameters[3]));

            vertex.__move(position);

            graph_.__raiseVertexMovedEvent(vertex);
        }
        private void processBreakEdgeLineCommand(Command command)
        {
            var parameters      = command.GetParameters();
            var edgesDictionary = graph_.__getEdgesDictionary();

            var edge = edgesDictionary.Find(FullID.FromString(parameters[0]));

            if (edge == null)
            {
                return;
            }

            var position = new Point3D(double.Parse(parameters[2]),
                                       double.Parse(parameters[3]), double.Parse(parameters[4]));

            var bend = edge.__breakEdgeLine(position, int.Parse(parameters[1]));

            graph_.__raiseBendAddedEvent(bend);
        }
示例#21
0
        public bool GetState(JObject model)
        {
#if DEBUG
            return(true);
#else
            // parse the JSON
            UInt64 houseID     = (UInt64)model["houseID"];
            UInt64 roomID      = (UInt64)model["roomID"];
            UInt64 deviceID    = (UInt64)model["deviceID"];
            string deviceClass = (string)model["deviceClass"];
            string houseURL    = (string)model["houseURL"];
            // done parsing JSON

            TimeFrame frame = new TimeFrame();

            var id = new FullID();
            id.HouseID  = houseID;
            id.RoomID   = roomID;
            id.DeviceID = deviceID;

            JObject jHouseString = new JObject();
            jHouseString["houseURL"] = houseURL;
            string HouseString = jHouseString.ToString();

            JObject jDeviceString = new JObject();
            jDeviceString["ID"]    = Convert.ToString(deviceID);
            jDeviceString["Class"] = deviceClass;
            string DeviceString = jDeviceString.ToString();

            var dev_out = ServerSideAPI.CreateDevice(id, HouseString, DeviceString, frame);

            if (dev_out != null)            //Good to go
            {
                //state changed means some value was changed, e.g. the command was not idempotent
                var ok   = dev_out.update();
                var json = JsonConvert.SerializeObject(dev_out);         //this JSON blob should be sent to whomever wants updates
                AppCache.AddDeviceBlob(JObject.Parse(json));
            }

            return(true);
#endif
        }
        private void processChangeVertexRotationCommand(Command command)
        {
            var parameters         = command.GetParameters();
            var verticesDictionary = graph_.__getVerticesDictionary();

            var vertex = verticesDictionary.Find(FullID.FromString(parameters[0]));

            if (vertex == null)
            {
                return;
            }

            var rotation = new Point4D(
                double.Parse(parameters[1]), double.Parse(parameters[2]),
                double.Parse(parameters[3]), double.Parse(parameters[4]));

            vertex.__setRotation(rotation);

            graph_.__raiseVertexRotationChangedEvent(vertex);
        }
        private void processMoveBendCommand(Command command)
        {
            var parameters      = command.GetParameters();
            var edgesDictionary = graph_.__getEdgesDictionary();

            var edge = edgesDictionary.Find(FullID.FromString(parameters[0]));

            if (edge == null)
            {
                return;
            }

            var position = new Point3D(double.Parse(parameters[2]),
                                       double.Parse(parameters[3]), double.Parse(parameters[4]));

            int index = int.Parse(parameters[1]);
            var bend  = edge.GetEdgeLines()[index].GetEndBend();

            bend.__move(position);

            graph_.__raiseBendMovedEvent(bend);
        }
示例#24
0
        public void TestUpdateDevice()
        {
            var id  = new FullID(0, 0, 1);
            var th1 = new Thermostat(null, null, null);

            th1.Enabled  = true;
            th1.SetPoint = 100;
            th1.ID       = id;

            var th2 = new Thermostat(null, null, null);

            th2.Enabled  = false;
            th2.SetPoint = 0;
            th2.ID       = id;

            Assert.AreNotEqual(th1.Enabled, th2.Enabled);
            Assert.AreNotEqual(th1.SetPoint.C, th2.SetPoint.C);

            Assert.IsTrue(Interfaces.UpdateDevice(th2, th1));
            Assert.AreEqual(th1.Enabled, th2.Enabled);
            Assert.AreEqual(th1.SetPoint, th2.SetPoint);

            Assert.IsFalse(Interfaces.UpdateDevice(th2, th1));
        }
示例#25
0
        // add any other JArrays containing blobs here

        ////////////////////////////////////////////////////////////////////////////////////////
        //
        // deviceBlobs methods

        /*************** DEBUG MODE METHOD *************/

        static public bool AddDeviceBlob_DEBUG(JObject blob)
        {
            Uri        storageURL  = new Uri(DeviceRepository.storageURL);
            Interfaces check       = new Interfaces(storageURL);
            string     blob_string = blob.ToString();
            Device     dev         = check.CreateDevice(blob_string, new TimeFrame());
            ulong      devID       = (ulong)blob["deviceID"];
            ulong      roomID      = (ulong)blob["roomID"];
            ulong      houseID     = (ulong)blob["houseID"];

            FullID fullID = new FullID();

            fullID.DeviceID = devID;
            fullID.RoomID   = roomID;
            fullID.HouseID  = houseID;

            deviceBlobs.Add(fullID, dev);
            //if (deviceBlobs.Contains(fullID, dev))
            //{
            //    return true;
            //}

            return(true);
        }
示例#26
0
    public static string ManageEvent(EventMember Events)
    {
        string        msg            = string.Empty;
        string        MemberID       = "";
        string        MemberDetailID = "";
        SqlConnection conn           = new SqlConnection(ConfigurationManager.ConnectionStrings["AagakhanConnectionString"].ConnectionString);

        conn.Open();
        try
        {
            if (Events.IsEdit == 0)
            {
                if (Events.ProgramID == 2)
                {
                    string   Members   = Events.Members;
                    string[] AllMember = Members.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (string FullID in AllMember)
                    {
                        SqlCommand cmd = new SqlCommand("EventParticipateDetailsInsert", conn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        string[] IDOnly = FullID.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries);
                        for (int i = 0; i < 1; i++)
                        {
                            if (IDOnly[1] == "MD")
                            {
                                MemberDetailID += IDOnly[0];
                                cmd.CommandType = CommandType.StoredProcedure;
                                cmd.Parameters.Add("@MemberID", SqlDbType.BigInt).Value       = DBNull.Value;
                                cmd.Parameters.Add("@MemberDetailID", SqlDbType.BigInt).Value = Convert.ToInt64(MemberDetailID.ToString());
                            }
                            else
                            {
                                MemberID       += IDOnly[0];
                                cmd.CommandType = CommandType.StoredProcedure;
                                cmd.Parameters.Add("@MemberID", SqlDbType.BigInt).Value       = Convert.ToInt64(MemberID.ToString());
                                cmd.Parameters.Add("@MemberDetailID", SqlDbType.BigInt).Value = DBNull.Value;
                            }

                            cmd.Parameters.Add("@VillageID", SqlDbType.BigInt).Value     = Convert.ToInt64(IDOnly[2].ToString());
                            cmd.Parameters.Add("@EventDetailID", SqlDbType.BigInt).Value = Events.EventDetailID;
                            cmd.Parameters.Add("@LoginType", SqlDbType.VarChar).Value    = HttpContext.Current.Session["LoginType"];
                            cmd.Parameters.Add("@InsertedBy", SqlDbType.BigInt).Value    = HttpContext.Current.Session["UserID"];
                            cmd.Parameters.Add("@YearID", SqlDbType.BigInt).Value        = HttpContext.Current.Session["YearID"];
                            cmd.Parameters.Add("@MachineName", SqlDbType.NVarChar).Value = Global.MachineName;
                            cmd.ExecuteNonQuery();
                            cmd.Dispose();
                            MemberDetailID = "";
                            MemberID       = "";
                        }
                    }
                    conn.Close();
                }
                else if (Events.ProgramID == 1)
                {
                    string   Members   = Events.Members;
                    string[] AllMember = Members.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (string FullID in AllMember)
                    {
                        SqlCommand cmd = new SqlCommand("ActivityParticipateDetailsInsert", conn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        string[] IDOnly = FullID.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries);
                        for (int i = 0; i < 1; i++)
                        {
                            if (IDOnly[1] == "MD")
                            {
                                MemberDetailID += IDOnly[0];
                                cmd.CommandType = CommandType.StoredProcedure;
                                cmd.Parameters.Add("@MemberID", SqlDbType.BigInt).Value       = DBNull.Value;
                                cmd.Parameters.Add("@MemberDetailID", SqlDbType.BigInt).Value = Convert.ToInt64(MemberDetailID.ToString());
                            }
                            else
                            {
                                MemberID       += IDOnly[0];
                                cmd.CommandType = CommandType.StoredProcedure;
                                cmd.Parameters.Add("@MemberID", SqlDbType.BigInt).Value       = Convert.ToInt64(MemberID.ToString());
                                cmd.Parameters.Add("@MemberDetailID", SqlDbType.BigInt).Value = DBNull.Value;
                            }

                            cmd.Parameters.Add("@VillageID", SqlDbType.BigInt).Value     = Convert.ToInt64(IDOnly[2].ToString());
                            cmd.Parameters.Add("@EventDetailID", SqlDbType.BigInt).Value = Events.EventDetailID;
                            cmd.Parameters.Add("@LoginType", SqlDbType.VarChar).Value    = HttpContext.Current.Session["LoginType"];
                            cmd.Parameters.Add("@InsertedBy", SqlDbType.BigInt).Value    = HttpContext.Current.Session["UserID"];
                            cmd.Parameters.Add("@YearID", SqlDbType.BigInt).Value        = HttpContext.Current.Session["YearID"];
                            cmd.Parameters.Add("@MachineName", SqlDbType.NVarChar).Value = Global.MachineName;
                            cmd.ExecuteNonQuery();
                            cmd.Dispose();
                            MemberDetailID = "";
                            MemberID       = "";
                        }
                    }
                    conn.Close();
                }
                else if (Events.ProgramID == 3)
                {
                    string   Members   = Events.Members;
                    string[] AllMember = Members.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (string FullID in AllMember)
                    {
                        SqlCommand cmd = new SqlCommand("TrainingParticipateDetailsInsert", conn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        string[] IDOnly = FullID.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries);
                        for (int i = 0; i < 1; i++)
                        {
                            if (IDOnly[1] == "MD")
                            {
                                MemberDetailID += IDOnly[0];
                                cmd.CommandType = CommandType.StoredProcedure;
                                cmd.Parameters.Add("@MemberID", SqlDbType.BigInt).Value       = DBNull.Value;
                                cmd.Parameters.Add("@MemberDetailID", SqlDbType.BigInt).Value = Convert.ToInt64(MemberDetailID.ToString());
                            }
                            else
                            {
                                MemberID       += IDOnly[0];
                                cmd.CommandType = CommandType.StoredProcedure;
                                cmd.Parameters.Add("@MemberID", SqlDbType.BigInt).Value       = Convert.ToInt64(MemberID.ToString());
                                cmd.Parameters.Add("@MemberDetailID", SqlDbType.BigInt).Value = DBNull.Value;
                            }

                            cmd.Parameters.Add("@VillageID", SqlDbType.BigInt).Value     = Convert.ToInt64(IDOnly[2].ToString());
                            cmd.Parameters.Add("@EventDetailID", SqlDbType.BigInt).Value = Events.EventDetailID;
                            cmd.Parameters.Add("@LoginType", SqlDbType.VarChar).Value    = HttpContext.Current.Session["LoginType"];
                            cmd.Parameters.Add("@InsertedBy", SqlDbType.BigInt).Value    = HttpContext.Current.Session["UserID"];
                            cmd.Parameters.Add("@YearID", SqlDbType.BigInt).Value        = HttpContext.Current.Session["YearID"];
                            cmd.ExecuteNonQuery();
                            cmd.Dispose();
                            MemberDetailID = "";
                            MemberID       = "";
                        }
                    }
                    conn.Close();
                }
                msg = "પ્રોગ્રામની માહિતી દાખલ થઈ ગઈ છે.";
            }
            else
            {
            }
        }
        catch (Exception ex)
        {
            Global.ErrorInsert(ex.Message, formname, "UserManage");
            msg = "Error" + ex.Message;
        }
        finally
        {
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }
        }
        return(msg);
    }
示例#27
0
 public override string ToString()
 {
     return(FullID.ToString());
 }
示例#28
0
        public bool updateSimulation(UInt64 houseID, UInt64 roomID, UInt64 deviceID, JObject sendData)
        {
            // UInt64 test = fullId.HouseID;
#if DEBUG
#else
            HouseRepository houseRepo = new HouseRepository();
            JObject         houseObj = new JObject();
            JObject         deviceObj = new JObject();
            String          HouseString, DeviceString, commands;
            var             id = new FullID();
            id.HouseID  = houseID;
            id.DeviceID = deviceID;
            id.RoomID   = roomID;

            WebRequest request = WebRequest.Create(storageURL + "UD/" + houseID + "/" + roomID + "/" + deviceID);
            request.ContentType = "application/json";
            request.Method      = "POST";

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                streamWriter.Write(sendData.ToString());
                streamWriter.Flush();
                streamWriter.Close();
            }
            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    throw new Exception(String.Format(
                                            "Server error (HTTP {0}: {1}).",
                                            response.StatusCode,
                                            response.StatusDescription));
                }
            }

            houseObj  = houseRepo.GetHouse(houseID); // queries PS for information
            deviceObj = GetDevice(houseID.ToString(), roomID.ToString(), deviceID.ToString());
            JToken blobVal;
            //String blob = (string)deviceArr["blob"];
            //blobVal = JToken.Parse(blob);
            String  house_url = (string)(houseObj["house_url"]);
            UInt64  ID        = (UInt64)(deviceObj["ID"]);
            String  clas      = (string)(deviceObj["Class"]);
            JObject send      = new JObject();
            JObject send1     = new JObject();
            send["house_url"] = house_url;
            send1["ID"]       = ID;
            send1["Class"]    = clas;
            TimeFrame frame = new TimeFrame();
            HouseString  = JsonConvert.SerializeObject(send);
            DeviceString = JsonConvert.SerializeObject(send1);
            commands     = JsonConvert.SerializeObject(sendData);

            var dev_out = ServerSideAPI.CreateDevice(id, HouseString, DeviceString, frame);
            if (dev_out != null) //Good to go
            {
                //state changed means some value was changed, e.g. the command was not idempotent
                var state_changed = Interfaces.UpdateDevice(dev_out, commands);
            }
#endif
            return(true);
        }
示例#29
0
        /*************** END DEBUG MODE METHOD *************/

        static public bool AddDeviceBlob(JObject blob)
        {
            Uri        storageURL  = new Uri(DeviceRepository.storageURL);
            Interfaces check       = new Interfaces(storageURL);
            string     blob_string = blob.ToString();
            Device     dev         = check.CreateDevice(blob_string, new TimeFrame());
            ulong      devID       = (ulong)blob["deviceID"];
            ulong      roomID      = (ulong)blob["roomID"];
            ulong      houseID     = (ulong)blob["houseID"];

            FullID fullID = new FullID();

            fullID.DeviceID = devID;
            fullID.RoomID   = roomID;
            fullID.HouseID  = houseID;

            bool notify = false;

            deviceBlobs.Add(fullID, dev);
            //if (deviceBlobs.Contains(fullID, dev))
            //{
            //    notify = true;
            //}

            if (!notify)
            {
                return(true);
            }

            WebRequest request = WebRequest.Create(DeviceRepository.decisionURL + "BH/" + houseID);

            request.Method = "GET";
            string userid = "";

            try
            {
                using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                {
                    var     stream  = response.GetResponseStream();
                    var     reader  = new StreamReader(stream);
                    string  str     = reader.ReadToEnd();
                    JObject jobject = JObject.Parse(str);
                    userid = (string)jobject["userID"];
                }
            }

            catch (WebException we)
            {
                return(true);
            }

            request        = WebRequest.Create(DeviceRepository.decisionURL + "BU/" + userid);
            request.Method = "GET";
            string endpoint = "";

            try
            {
                using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                {
                    var     stream  = response.GetResponseStream();
                    var     reader  = new StreamReader(stream);
                    string  str     = reader.ReadToEnd();
                    JObject jobject = JObject.Parse(str);
                    endpoint = (string)jobject["endPointArn"];

                    // of the array is one line of the file.
                    //string[] lines = System.IO.File.ReadAllLines(@"C:\keys.txt");
                    string accK = "";
                    string secK = "";
                    NotificationManager notificationManager = new NotificationManager(accK, secK, Amazon.RegionEndpoint.USEast1);
                    notificationManager.init();
                    notificationManager.PublishNotification(endpoint, "Device Updated");
                }
            }

            catch (WebException we)
            {
                return(true);
            }


            return(true);
        }
示例#30
0
 public JToken GetDevice(FullID fullID)
 {
     return(AppCache.GetDeviceBlob(fullID));
 }