Exemplo n.º 1
0
        private void sendToEventHub(CO2 CO2)
        {
            SubscribeData subscribeData           = SampleCO2.Create(CO2.DeviceInformation.ExternalAssetId, CO2.CurrentCO2);
            var           subscribeDataJsonString = JsonConvert.SerializeObject(subscribeData);

            eventHubService.SendAsync(subscribeDataJsonString).Wait();
        }
Exemplo n.º 2
0
    /// <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)));
 }
Exemplo n.º 4
0
        public void Run(object s)
        {
            Trace.TraceInformation($"[{DateTime.Now}] Update CO2s");

            foreach (var CO2 in CO2s)
            {
                CO2.NextRandomCO2();
                sendToEventHub(CO2);
            }
        }
Exemplo n.º 5
0
    /// <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);
    }
Exemplo n.º 6
0
        public IActionResult CO2([FromBody] CO2 co2)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = aquaCalcService.Co2Concentration(co2.Kh, co2.Ph);

            return(Ok(result));
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
    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);
    }
Exemplo n.º 9
0
    /// <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);
    }
Exemplo n.º 10
0
    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;
            }
        }
    }