public SprinklerProgramController(SprinklerValveController controller)
        {
            Controller = controller;
            Data = new SprinklerData();

            // load programs
            RunningZone = -1;
            ZoneStopTime = DateTime.MinValue;
            isPaused = false;
            ZonePauseStopTime = DateTime.MaxValue;

            // start controller timer
            IAsyncAction asyncAction2 = Windows.System.Threading.ThreadPool.RunAsync(
            (workItem) =>
            {
                ControllerThread();
            });

            // hard code zone list /names for now
            // TODO - don't hardcode this
            ZoneList = new List<Zone>();
            for (int i = 1; i < 16; i++)
            {
                ZoneList.Add(new Zone() { Id = i, IsEnabled = true, Name = String.Format("Zone {0}", i) });
            }

        }
Пример #2
0
        //TemperatureSensors tempSensors;

        public HttpRestServer(int serverPort, AppServiceConnection connection, SprinklerValveController sprinkler, SprinklerProgramController program)//, TemperatureSensors temp)
        {
            listener = new StreamSocketListener();
            port = serverPort;
            appServiceConnection = connection;
            sprinklerController = sprinkler;
            programController = program;
            //tempSensors = temp;

            //Add event handler for HTTP connections
            listener.ConnectionReceived += (s, e) => ProcessRequestAsync(e.Socket);

            System.Diagnostics.Debug.WriteLine("Sprinkler HTTP REST server starting...");
        }
Пример #3
0
        //TemperatureSensors tempSensors;

        public HttpRestServer(int serverPort, AppServiceConnection connection, SprinklerValveController sprinkler, SprinklerProgramController program)//, TemperatureSensors temp)
        {
            listener             = new StreamSocketListener();
            port                 = serverPort;
            appServiceConnection = connection;
            sprinklerController  = sprinkler;
            programController    = program;
            //tempSensors = temp;

            //Add event handler for HTTP connections
            listener.ConnectionReceived += (s, e) => ProcessRequestAsync(e.Socket);

            System.Diagnostics.Debug.WriteLine("Sprinkler HTTP REST server starting...");
        }
        //public IList<Zone> ZoneList
        //{
        //    get; private set;
        //}

        public SprinklerProgramController(SprinklerValveController controller)
        {
            Utils.LogLine("------------------------");
            Utils.LogLine("Sprinkler program started");
            Controller = controller;
            Data       = SprinklerData.Load();
            if (Data == null)
            {
                // first time set the default
                Data = new SprinklerData();
                Data.SetDefaults();
            }
            //// TODO remove test!!!!
            //if(Data.Programs.Count == 1)
            //    Data.AddProgram("Program2");


            // load programs
            RunningZone       = -1;
            ZoneStopTime      = DateTime.MinValue;
            isPaused          = false;
            ZonePauseStopTime = DateTime.MaxValue;

            // start controller timer
            IAsyncAction asyncAction2 = Windows.System.Threading.ThreadPool.RunAsync(
                (workItem) =>
            {
                ControllerThread();
            });

            //if (Utils.LocalFileExists(ZoneListFileName))
            //{
            //    string json = Utils.ReadStringFromLocalFile(ZoneListFileName);
            //    if (json != null && json.Length > 0)
            //    {
            //        ZoneList = Utils.DeserializeJsonZoneList(json);
            //    }
            //}

            //if (ZoneList == null || ZoneList.Count == 0)
            //{
            //    // hard code zone list /names if the data file does not exist
            //    ZoneList = new List<Zone>();
            //    for (int i = 1; i < 16; i++)
            //    {
            //        ZoneList.Add(new Zone() { Id = i, IsEnabled = true, Name = String.Format("Zone {0}", i) });
            //    }
            //}
        }
Пример #5
0
        private void Initialize()
        {
            valveController   = new SprinklerValveController();
            programController = new SprinklerProgramController(valveController);
            cloudDataSaver    = new CloudDataSaver();

            //Define a new instance of our HTTPServer on Port 8888
            HttpRestServer server      = new HttpRestServer(8888, appServiceConnection, valveController, programController);//, tempSensors);
            IAsyncAction   asyncAction = Windows.System.Threading.ThreadPool.RunAsync(
                (workItem) =>
            {       //Start the Sever
                server.StartServer();
            });

            WebServer    webServer    = new WebServer(8889);
            IAsyncAction asyncAction2 = Windows.System.Threading.ThreadPool.RunAsync(
                (workItem) =>
            {       //Start the Sever
                webServer.StartServer();
            });
        }
Пример #6
0
        private void Initialize()
        {
            valveController = new SprinklerValveController();
            programController = new SprinklerProgramController(valveController);

            //Define a new instance of our HTTPServer on Port 8888
            HttpRestServer server = new HttpRestServer(8888, appServiceConnection, valveController, programController);//, tempSensors);
            IAsyncAction asyncAction = Windows.System.Threading.ThreadPool.RunAsync(
                (workItem) =>
                {   //Start the Sever
                                server.StartServer();
                });

            WebServer webServer = new WebServer(8889);
            IAsyncAction asyncAction2 = Windows.System.Threading.ThreadPool.RunAsync(
                (workItem) =>
                {   //Start the Sever
                    webServer.StartServer();
                });


        }