From ca702e1ca2e5c6e7ad16fe63d8f1af02735e4a73 Mon Sep 17 00:00:00 2001 From: kougyokugentou <41278462+kougyokugentou@users.noreply.github.com> Date: Wed, 13 Jan 2021 20:15:20 -0800 Subject: [PATCH] Add query to get guardian object by pin# Add query to get children by guardian object. --- SqliteDataAccess.cs | 58 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 6 deletions(-) diff --git a/SqliteDataAccess.cs b/SqliteDataAccess.cs index faa8ab7..d5f4636 100644 --- a/SqliteDataAccess.cs +++ b/SqliteDataAccess.cs @@ -17,6 +17,58 @@ namespace GreatHomeChildcare #endregion #region guardian + // ***************** Read ***************** + + /* Gets a Guardian by a distinct pin number. Distinctness enforced elsewhere. + * INPUT: integer pin# + * OUTPUT: Guardian object + */ + internal Guardian GetGuardianByPin(int guardian_pin_in) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT * FROM Guardians WHERE PinNumber = @pin_in"; + Guardian guardian = cnn.Query(strQuery, new { pin_in = guardian_pin_in }).SingleOrDefault(); + return guardian; + } + } + #endregion + + #region authorized_guardians + // ***************** Read ***************** + + /* Gets a list of all children per a specific guardian. + * INPUT: Guardian + * OUTPUT: List of Child object. + */ + internal List GetChildrenByGuardian(Guardian guardian_in) + { + //TODO: Remove once valid login check is implemented. + if (guardian_in == null) + return null; + + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = @" +SELECT +Children.id, +Children.FirstName, +Children.LastName, +DOB, +address, +race, +gender, +photo +FROM Children +INNER JOIN Authorized_Guardians on Children.ID = Authorized_Guardians.child_id +INNER JOIN Guardians on Authorized_Guardians.guardian_id = Guardians.id +WHERE Guardians.id = @id +"; + var output = cnn.Query(strQuery,guardian_in); + return output.ToList(); + } + } + #endregion #region attendance @@ -42,12 +94,6 @@ namespace GreatHomeChildcare } } - //TODO: implement - internal List GetChildrenByGuardianID(int guardian_id_in) - { - return null; - } - #region reports #endregion