コード例 #1
0
        // To parse data from the IoT devices in the teachers room, Elisagårdsvej
        private static CoronaTest Parse(string response)
        {
            // Id: 20, Name: maskine 1, Temperature: 37,72396496903336, Location: sted 3, Date: 27/11, Time: 14:35
            string[] parts = response.Split(',');

            // id
            string[] ids = parts[0].Split(':');
            int      id  = Convert.ToInt32(ids[1].Trim());

            // name
            string[] names = parts[1].Split(':');
            string   name  = names[1].Trim();

            // Temperature
            string[] temps = parts[2].Split(':');
            double   temp  = Convert.ToDouble(temps[1].Trim());

            // Location
            string[] locas = parts[4].Split(':');
            string   loca  = locas[1].Trim();

            // Date
            string[] dates = parts[5].Split(':');
            string[] date  = dates[1].Split(' ');
            string   dat   = date[1];

            // Time
            string[] times = parts[6].Split(':');
            string   time  = parts[1] + parts[2];

            CoronaTest test = new CoronaTest(id, name, temp, loca, dat, time);

            return(test);
        }
コード例 #2
0
        private CoronaTest ReadNextElement(SqlDataReader reader)
        {
            CoronaTest coronaTest = new CoronaTest();

            coronaTest.TestId      = reader.GetInt32(0);
            coronaTest.MachineName = reader.GetString(1);
            coronaTest.Temperature = reader.GetDouble(2);
            coronaTest.Location    = reader.GetString(3);
            coronaTest.Date        = reader.GetString(4);
            coronaTest.Time        = reader.GetString(5);

            return(coronaTest);
        }
コード例 #3
0
        private static async Task OpretNyTest(CoronaTest test)
        {
            using (HttpClient client = new HttpClient())
            {
                StringContent content = new StringContent(
                    JsonConvert.SerializeObject(test),
                    Encoding.UTF8,
                    "application/json");

                HttpResponseMessage resp = await client.PostAsync(URI, content);

                if (resp.IsSuccessStatusCode)
                {
                    return;
                }

                throw new ArgumentException("opret fejlede");
            }
        }
コード例 #4
0
        public IEnumerable <CoronaTest> Get()
        {
            List <CoronaTest> liste = new List <CoronaTest>();

            using (SqlConnection conn = new SqlConnection(connectionString))
                using (SqlCommand cmd = new SqlCommand(Get_All, conn))
                {
                    conn.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        CoronaTest test = ReadNextElement(reader);
                        liste.Add(test);
                    }

                    reader.Close();
                }

            return(liste);
        }
コード例 #5
0
        static void Main()
        {
            using (UdpClient socket = new UdpClient(new IPEndPoint(IPAddress.Loopback, Port)))
            {
                IPEndPoint remoteEndPoint = new IPEndPoint(0, 0);
                while (true)
                {
                    Console.WriteLine("Waiting for broadcast {0}", socket.Client.LocalEndPoint);
                    byte[] datagramReceived = socket.Receive(ref remoteEndPoint);

                    string message = Encoding.ASCII.GetString(datagramReceived, 0, datagramReceived.Length);
                    Console.WriteLine("Receives {0} bytes from {1} port {2} message {3}", datagramReceived.Length,
                                      remoteEndPoint.Address, remoteEndPoint.Port, message);

                    CoronaTest test = Parse(message);

                    OpretNyTest(test);
                }
            }
        }
        public int Post([FromBody] CoronaTest value)
        {
            string insertString = "insert into CoronaTests (machineName, temperature, location, date, time) values (@machineName, @temperature, @location, @date, @time);";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();
                using (SqlCommand command = new SqlCommand(insertString, conn))
                {
                    //command.Parameters.AddWithValue("@testId", value.TestId);
                    command.Parameters.AddWithValue("@machineName", value.MachineName);
                    command.Parameters.AddWithValue("@temperature", value.Temperature);
                    command.Parameters.AddWithValue("@location", value.Location);
                    command.Parameters.AddWithValue("@date", value.Date);
                    command.Parameters.AddWithValue("@time", value.Time);

                    int rowsAffected = command.ExecuteNonQuery();
                    return(rowsAffected);
                }
            }
        }
コード例 #7
0
        public CoronaTest GetById(int id)
        {
            CoronaTest cTest = new CoronaTest();

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();

                using (var cmd = new SqlCommand(Get_By_Id, conn))
                {
                    cmd.Parameters.AddWithValue("@Id", id);
                    var reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        cTest = ReadNextElement(reader);
                    }
                }
            }

            return(cTest);
        }
コード例 #8
0
        public IEnumerable <CoronaTest> HighTemperature()
        {
            List <CoronaTest> tListe = new List <CoronaTest>();

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();

                using (SqlCommand cmd = new SqlCommand(Get_By_High_Temperature, conn))
                {
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        CoronaTest test = ReadNextElement(reader);
                        tListe.Add(test);
                    }

                    reader.Close();
                }
            }

            return(tListe);
        }