/* * Check session */ static bool Session(int id, string session, NetworkMessage.Users user) { if (Connect()) { string query; if (user == NetworkMessage.Users.Student) { query = "SELECT COUNT(Student.Id) FROM [Student] LEFT JOIN [StudentSession] ON Student.Id = StudentSession.StudentId LEFT JOIN [Session] ON StudentSession.SessionId = Session.Id WHERE Student.Id = @Id AND Session.Session = @Session;"; } else { query = "SELECT COUNT(Teacher.Id) FROM [Teacher] LEFT JOIN [TeacherSession] ON Teacher.Id = TeacherSession.TeacherId LEFT JOIN [Session] ON TeacherSession.SessionId = Session.Id WHERE Teacher.Id = @Id AND Session.Session = @Session;"; } SqlCommand command = new SqlCommand(query, conn); command.Parameters.AddWithValue("@Id", id); command.Parameters.AddWithValue("@Session", session); using (SqlDataReader reader = command.ExecuteReader()) { if (reader.Read() && (int)reader[0] == 1) { conn.Close(); return(true); } } conn.Close(); } return(false); }
/* * Set session */ static string Session(int id, NetworkMessage.Users user) { if (Connect()) { string session = GenerateRandomString(50); string query; if (user == NetworkMessage.Users.Student) { query = "INSERT INTO [StudentSession] (StudentId, SessionId) VALUES(@Id, (INSERT INTO [Session] (Session) OUTPUT inserted.Id VALUES(@Session)));"; } else { query = "INSERT INTO [TeacherSession] (TeacherId, SessionId) VALUES(@Id, (INSERT INTO [Session] (Session) OUTPUT inserted.Id VALUES(@Session)));"; } SqlCommand command = new SqlCommand(query, conn); command.Parameters.AddWithValue("@Id", id); command.Parameters.AddWithValue("@Session", session); command.ExecuteNonQuery(); conn.Close(); return(session); } return(null); }