diff --git a/SqliteDataAccess.cs b/SqliteDataAccess.cs index 2a36490..3f36445 100644 --- a/SqliteDataAccess.cs +++ b/SqliteDataAccess.cs @@ -21,6 +21,21 @@ namespace GreatHomeChildcare // ***************** Create ***************** // ***************** Read ******************* + /* Gets a single child from the sqlite database + * provided an id number. + * INPUT: integer id + * OUTPUT: Child object + */ + internal Child GetChildByID(int id_in) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT * FROM Children WHERE id=@id"; + Child output = cnn.Query(strQuery, new { id = id_in }).SingleOrDefault(); + return output; + } + } + /* Gets all children from the sqlite database. * INPUT: void * OUTPUT: list of Child objects @@ -43,6 +58,20 @@ namespace GreatHomeChildcare // ***************** Read ***************** + /* Gets all guardians for a single child. + * INPUT: Child + * OUTPUT: List of guardian object. + */ + internal List GetGuardiansByChild(Child child_in) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT * FROM Guardians WHERE id IN (SELECT guardian_id FROM Authorized_Guardians WHERE child_id = @id)"; + var output = cnn.Query(strQuery, child_in); + return output.ToList(); + } + } + /* Gets a Guardian by a distinct pin number. Distinctness enforced elsewhere. * INPUT: integer pin# * OUTPUT: Guardian object