Exemplo n.º 1
0
        /// <summary>
        /// Changes id of new heater to new id.
        /// Only one new heater must be connected.
        /// Starts in new thread.
        /// </summary>
        /// <param name="newId"></param>
        public void ChangeIdfromStartId(String newId)
        {
            Thread t = new Thread(delegate()
            {
                lock (m_heaters)
                {
                    foreach (KeyValuePair <IPAddress, String> elem in m_heaters)
                    {
                        if (elem.Value.Equals(newId))
                        {
                            WiFiClient wc = new WiFiClient(elem.Key.ToString());
                            wc.ChangeId(newId);
                            m_heaters.Remove(elem.Key);
                            return;
                        }
                    }
                }
                FindHeaters();

                lock (m_heaters)
                {
                    foreach (KeyValuePair <IPAddress, String> elem in m_heaters)
                    {
                        if (elem.Value.Equals(newId))
                        {
                            WiFiClient wc = new WiFiClient(elem.Key.ToString());
                            wc.ChangeId(newId);
                            m_heaters.Remove(elem.Key);
                            return;
                        }
                    }
                }
            });

            t.Start();
        }