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!"); } } }
//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; } }