Esempio n. 1
0
        public async void GetGreenhouseValues(int greenhouseId, string greenhouseName, int greenhouseHumidity,
                                              int greenhouseTemperature, int greenhouseLightLevel)
        {
            Random rando = new Random();
            int    greenhouseHumidityRando    = rando.Next(0, 2) * 2 - 1;
            int    greenhouseTemperatureRando = rando.Next(0, 2) * 2 - 1;
            int    greenhouseLightLevelRando  = rando.Next(0, 2) * 2 - 1;

            GreenhouseModel greenhouseModel = new GreenhouseModel(greenhouseId, greenhouseName,
                                                                  greenhouseHumidity + greenhouseHumidityRando, greenhouseTemperature + greenhouseTemperatureRando,
                                                                  greenhouseLightLevel + greenhouseLightLevelRando);

            Console.WriteLine("New Greenhouse model: " + greenhouseModel + "\n");

            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:51283/");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                Console.WriteLine("Sending PUT");
                HttpResponseMessage response = await client.PutAsJsonAsync("api/PlanteWatch/Greenhouse/Put/" + greenhouseId, greenhouseModel);

                if (response.IsSuccessStatusCode)
                {
                    Console.WriteLine("Success!");
                }
            }
        }
Esempio n. 2
0
        //When a greenhouse exceeds 25 degrees, this function will lower it's temperature by 1 degree every minute,
        //pretending to be a sprinkler.
        public static async void SprinklerStart(int greenhouseTemperature, int greenhouseId)
        {
            Thread.Sleep(6000);
            GreenhouseModel greenhouseModel = new GreenhouseModel();

            greenhouseModel = (GreenhouseModel)_planteWatchController.GetGreenhouseById(greenhouseId);

            Console.WriteLine(_planteWatchController.GetGreenhouseById(greenhouseId).ToString());

            Console.WriteLine("Greenhouse Model: " + greenhouseModel);
            Console.WriteLine("Greenhouse Id: " + greenhouseId);

            Console.WriteLine("Starting sprinkler round\n");
            using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:51283/");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                Console.WriteLine("Sending PUT\n");
                HttpResponseMessage response = await client.PutAsJsonAsync("api/PlanteWatch/Greenhouse/Put/" + greenhouseId, greenhouseModel);

                if (response.IsSuccessStatusCode)
                {
                    Console.WriteLine("Success!\n");
                }
            }
            Console.WriteLine("Finished sprinkler round\n");
        }
        public void PutGreenhouse(int id, [FromBody] GreenhouseModel value)
        {
            GreenhouseModel greenhouse = GetGreenhouseById(id);

            if (greenhouse != null)
            {
                greenhouse.Id          = value.Id;
                greenhouse.Name        = value.Name;
                greenhouse.Humidity    = value.Humidity;
                greenhouse.Temperature = value.Temperature;
                greenhouse.LightLevel  = value.LightLevel;
            }
        }