public async void ReceiveData(string receivedData) { //Json Transform try { Models.SensorModel sensorModel = JsonConvert.DeserializeObject <Models.SensorModel>(receivedData); //Generate message status bathroomStatus = updateBathroomStatus(sensorModel); //Send data to API Webhook await ApiController.SendDataToWebhook(bathroomStatus); } catch (Exception) { ///TODO } }
public async void ReceiveData(string receivedData) { //Json Transform try { Models.SensorModel sensorModel = JsonConvert.DeserializeObject<Models.SensorModel>(receivedData); //Generate message status bathroomStatus = updateBathroomStatus(sensorModel); //Send data to API Webhook await ApiController.SendDataToWebhook(bathroomStatus); } catch(Exception) { ///TODO } }
internal static Models.BathroomStatusModel UpdateBathroomStatus(Models.BathroomStatusModel bathroomStatusModel) { string message = String.Empty; bathroomStatusModel.Sensor.Connected = true; //Check if have anybody in bathroom bathroomStatusModel.isOccupied = SensorsService.SomeoneIsDetected(bathroomStatusModel.Sensor.SensorsValues); //Check Smell level bathroomStatusModel.smellOMeter = SensorsService.CheckSmellLevel(bathroomStatusModel.Sensor.SensorsValues); //Message message += bathroomStatusModel.isOccupied ? ":toilet: *Banheiro ocupado.* " : ":toilet: *Banheiro livre.* "; if (bathroomStatusModel.smellOMeter <= 10) { message += "Nunca se respirou um ar mais puro! :herb:"; } else if (bathroomStatusModel.smellOMeter <= 30) { message += "Tudo bem, não tem com o que se preocupar. :thumbsup:"; } else if (bathroomStatusModel.smellOMeter <= 50) { message += "Ainda está dando para aguentar. Vai fundo! :nose:"; } else if (bathroomStatusModel.smellOMeter <= 70) { message += "A coisa está feia, é por sua conta e risco. :fearful:"; } else if (bathroomStatusModel.smellOMeter > 70) { message += "ALERTA VERMELHO! :shit::shit: Se você tem amor ao seu pulmão, recomendo segurar a sua vontade. ::dizzy_face:"; } bathroomStatusModel.statusMessage = message; return(bathroomStatusModel); }
internal static async Task SendDataToWebhook(Models.BathroomStatusModel bathroomStatus) { try { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://nibodev.azurewebsites.net/v1/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.PostAsJsonAsync("Bathroom/SaveStatus", bathroomStatus); response.EnsureSuccessStatusCode(); if (response.IsSuccessStatusCode) { } } } catch (Exception ex) { ///TODO } }
private Models.BathroomStatusModel updateBathroomStatus(Models.BathroomStatusModel bathroomStatusModel) { return(Services.bathroomService.UpdateBathroomStatus(bathroomStatusModel)); }
public BathroomController() { bathroomStatus = new Models.BathroomStatusModel(); bathroomStatus.Sensor = new Models.SensorModel(); bathroomStatus.Sensor.SensorsValues = new Models.SensorValuesModel(); }