aboutsummaryrefslogtreecommitdiff
blob: 74ad2e8bc1c58df008a2eb172fd6f236f176d314 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using AirPollutionWebApi.Models;

namespace AirPollutionWebApi.Singletons
{
	public static class SqlOperator
	{
		const string ConnectionString = "Server=tcp:forschool.database.windows.net,1433;" +
            "Initial Catalog=schooldb;" +
            "Persist Security Info=False;" +
            "User ID=***REMOVED***;" +
            "Password=***REMOVED***;" +
            "MultipleActiveResultSets=False;" +
            "Encrypt=True;" +
            "TrustServerCertificate=False;" +
            "Connection Timeout=30;";

        public static List<Reading> GetAllReadings()
		{
			var readings = new List<Reading>();

			using (SqlConnection databaseConnection = new SqlConnection(ConnectionString))
			{
                string command = "SELECT * FROM Readings;";
				databaseConnection.Open();
				SqlCommand selectCommand = new SqlCommand(command, databaseConnection);
				var reader = selectCommand.ExecuteReader();
				while (reader.Read())
				{
					readings.Add(new Reading
					{
                        Id = reader.GetInt32(0),
                        TimeStamp = reader.GetInt32(1),
                        Co = reader.GetInt32(2),
						No = reader.GetInt32(3),
						So = reader.GetInt32(4)
					});
				}
			}

            return readings;
		}

        public static Reading GetReadingById(int id)
		{
            Reading reading = new Reading();

			using (SqlConnection databaseConnection = new SqlConnection(ConnectionString))
			{
                string command = $"SELECT * FROM Readings WHERE Id={id};";
				databaseConnection.Open();
				SqlCommand selectCommand = new SqlCommand(command, databaseConnection);
				var reader = selectCommand.ExecuteReader();
				while (reader.Read())
				{
					reading = new Reading
					{
						Id = reader.GetInt32(0),
						TimeStamp = reader.GetInt32(1),
						Co = reader.GetInt32(2),
						No = reader.GetInt32(3),
						So = reader.GetInt32(4)
					};
				}
			}

            return reading;
		}

        public static void PutReading(int id, Reading reading)
		{
			using (SqlConnection dbCon = new SqlConnection(ConnectionString))
			{
				dbCon.Open();
                string query = $"UPDATE Readings SET TimeStamp='{reading.TimeStamp}'," +
                    $"Co='{reading.Co}', No='{reading.No}', So='{reading.So}' WHERE Id={id};";
				var cmd = new SqlCommand(query, dbCon);
				cmd.ExecuteNonQuery();
				dbCon.Close();
			}
		}

        public static void PostReading(Reading reading)
		{
			using (SqlConnection dbCon = new SqlConnection(ConnectionString))
			{
				dbCon.Open();
                string query = $"INSERT INTO Readings (TimeStamp,Co,No,So)" +
                    $"VALUES('{reading.TimeStamp}',{reading.Co},{reading.No},{reading.So});";
				var cmd = new SqlCommand(query, dbCon);
				cmd.ExecuteNonQuery();
				dbCon.Close();
			}
		}

        public static void DeleteReading(int id)
		{
			using (SqlConnection dbCon = new SqlConnection(ConnectionString))
			{
				dbCon.Open();
				string query = $"DELETE FROM Readings WHERE Id={id};";
				var cmd = new SqlCommand(query, dbCon);
				cmd.ExecuteNonQuery();
				dbCon.Close();
			}
		}
	}
}