private void sendToEventHub(CO2 CO2) { SubscribeData subscribeData = SampleCO2.Create(CO2.DeviceInformation.ExternalAssetId, CO2.CurrentCO2); var subscribeDataJsonString = JsonConvert.SerializeObject(subscribeData); eventHubService.SendAsync(subscribeDataJsonString).Wait(); }
/// <summary> /// <para>Adds a CO2 measurement to the database based on the room it belongs.</para> /// </summary> /// <param name="co2">CO2 serialized object in JSON</param> /// <param name="roomName">Room where the measurement was taken.</param> public void persistCO2(string co2, DateTime date, string roomName) //persist means adding to the database { CO2 co2Object; try { co2Object = new CO2(); Console.WriteLine(co2 + "---------------------------------------------------------"); co2Object.CO2_value = float.Parse(co2); Console.WriteLine(co2Object.CO2_value + "---------------------------------------"); co2Object.Date = date; _context.CO2.Add(co2Object); Room r = getRoomByName(roomName); _context.SaveChanges(); CO2List list = new CO2List(); list.CO2_ID = co2Object.CO2ID; list.ROOM_ID = r.RoomID; _context.CO2s.Add(list); _context.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); throw new Exception("JSON is corrupt"); } }
public override string ToString() { return(string.Join(",", ApiKey, Temp.ToString(CultureInfo.InvariantCulture), Hum.ToString(CultureInfo.InvariantCulture), Preassure.ToString(CultureInfo.InvariantCulture), CO2.ToString(CultureInfo.InvariantCulture), LPG.ToString(CultureInfo.InvariantCulture), CO.ToString(CultureInfo.InvariantCulture), CH4.ToString(CultureInfo.InvariantCulture), Dust.ToString(CultureInfo.InvariantCulture), Longitude.ToString(CultureInfo.InvariantCulture), Latitude.ToString(CultureInfo.InvariantCulture))); }
public void Run(object s) { Trace.TraceInformation($"[{DateTime.Now}] Update CO2s"); foreach (var CO2 in CO2s) { CO2.NextRandomCO2(); sendToEventHub(CO2); } }
/// <summary> /// <para>Gets a CO2 object from the database base on the time of the measurement</para> /// </summary> /// <param name="dateTime">Date and time of the measurement</param> /// <returns> /// <para>CO2 serialized into JSON</para> /// </returns> public string getCO2(DateTime dateTime) { List <CO2> co2s; co2s = _context.CO2.Where(CO2 => CO2.Date == dateTime).ToList(); //might work CO2 co2 = co2s[0]; string s = JsonSerializer.Serialize(co2); return(s); }
public IActionResult CO2([FromBody] CO2 co2) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = aquaCalcService.Co2Concentration(co2.Kh, co2.Ph); return(Ok(result)); }
public void PersistCo2Test() { Random r = new Random(); CO2 co2 = new CO2(); co2.CO2_value = (float)r.NextDouble() * 100; co2.Date = this.dateTime; String s; s = JsonSerializer.Serialize(co2); _manager.persistCO2(co2.CO2_value.ToString(), co2.Date, "toilet"); string co2_JSON = _manager.getCO2(dateTime); CO2 co2_2 = JsonSerializer.Deserialize <CO2>(co2_JSON); Assert.AreEqual(co2_2.CO2_value, co2.CO2_value); }
public void SpawnCO2(Vector3 position, float mass, float temperature) { position.z = Grid.GetLayerZ(Grid.SceneLayer.Front); GameObject gameObject = co2Pool.GetInstance(); gameObject.transform.SetPosition(position); gameObject.SetActive(true); CO2 component = gameObject.GetComponent <CO2>(); component.mass = mass; component.temperature = temperature; component.velocity = Vector3.zero; component.lifetimeRemaining = 3f; KBatchedAnimController component2 = component.GetComponent <KBatchedAnimController>(); component2.TintColour = tintColour; component2.onDestroySelf = OnDestroyCO2; component.StartLoop(); co2Items.Add(component); }
/// <summary> /// <para>Gets a list of all the <c>CO2</c> objects in the database from a certain room in a certain week.</para> /// </summary> /// <param name="roomName">Room name</param> /// <param name="weekNumber">Week number</param> /// <returns> /// <para>List of <c>CO2</c> objects serialized into JSON</para> /// </returns> /// See <see cref="DatabaseManager.getRoomByName(string)"/> to understand how the room is retrieved. /// See <see cref="DatabaseManager.FirstDateOfWeek(int,int)"/> to understand how te first day of the week is calculated. public string getCO2List(string roomName, int weekNumber) { //getting the room ID Room r = getRoomByName(roomName); var id = r.RoomID; //first day of the week DateTime dateFromWeekNumber = FirstDateOfWeek(DateTime.Now.Year, weekNumber); //first day of the week after DateTime dateFromWeekNumberPlusOneWeek = FirstDateOfWeek(DateTime.Now.Year, weekNumber + 1); //gets the list of objects in the database within the given dates and room var list = (from co2 in _context.CO2 join co2s in _context.CO2s on co2.CO2ID equals co2s.CO2_ID where co2s.ROOM_ID == id && co2.Date >= dateFromWeekNumber && co2.Date < dateFromWeekNumberPlusOneWeek select new { DATE = co2.Date, ROOM = co2s.ROOM_ID, VALUE = co2.CO2_value, CO2_ID = co2.CO2ID }).ToList(); //produces flat sequence //temporary list to store the objects retrieved List <CO2> co2list = new List <CO2>(); //transforming the data in list to objects and adding it to temperatureList for (int i = 0; i < list.Count; i++) { CO2 temp_co2 = new CO2(); temp_co2.Date = list[i].DATE; temp_co2.CO2_value = list[i].VALUE; temp_co2.CO2ID = list[i].CO2_ID; co2list.Add(temp_co2); } //object serialization string s = JsonSerializer.Serialize(co2list); return(s); }
public void Sim33ms(float dt) { Vector2I xy = default(Vector2I); Vector2I xy2 = default(Vector2I); Vector3 vector = acceleration * dt; int num = co2Items.Count; for (int i = 0; i < num; i++) { CO2 cO = co2Items[i]; cO.velocity += vector; cO.lifetimeRemaining -= dt; Grid.PosToXY(cO.transform.GetPosition(), out xy); cO.transform.SetPosition(cO.transform.GetPosition() + cO.velocity * dt); Grid.PosToXY(cO.transform.GetPosition(), out xy2); int num2 = Grid.XYToCell(xy.x, xy.y); int num3 = num2; for (int num4 = xy.y; num4 >= xy2.y; num4--) { int num5 = Grid.XYToCell(xy.x, num4); bool flag = !Grid.IsValidCell(num5) || cO.lifetimeRemaining <= 0f; if (!flag) { Element element = Grid.Element[num5]; flag = (element.IsLiquid || element.IsSolid); } if (flag) { bool flag2 = false; int num6; if (num3 != num5) { num6 = num3; flag2 = true; } else { num6 = num5; while (Grid.IsValidCell(num6)) { Element element2 = Grid.Element[num6]; if (!element2.IsLiquid && !element2.IsSolid) { flag2 = true; break; } num6 = Grid.CellAbove(num6); } } cO.TriggerDestroy(); if (flag2) { SimMessages.ModifyMass(num6, cO.mass, byte.MaxValue, 0, CellEventLogger.Instance.CO2ManagerFixedUpdate, cO.temperature, SimHashes.CarbonDioxide); num--; co2Items[i] = co2Items[num]; co2Items.RemoveAt(num); } else { DebugUtil.LogWarningArgs("Couldn't emit CO2"); } break; } num3 = num5; } } }