Bug fix: new child with no sign in/out status NO LONGER crashes program on frmMain.cs
This commit is contained in:
parent
e856320df9
commit
7c76b8bf04
@ -72,6 +72,9 @@ namespace GreatHomeChildcare
|
|||||||
*/
|
*/
|
||||||
private void PopulateButton(Child child_in, Control controls_in)
|
private void PopulateButton(Child child_in, Control controls_in)
|
||||||
{
|
{
|
||||||
|
Attendance studentStatus = new Attendance();
|
||||||
|
string btnText = String.Empty;
|
||||||
|
|
||||||
Control.ControlCollection nested_controls = controls_in.Controls;
|
Control.ControlCollection nested_controls = controls_in.Controls;
|
||||||
foreach(Control c in nested_controls)
|
foreach(Control c in nested_controls)
|
||||||
{
|
{
|
||||||
@ -81,16 +84,32 @@ namespace GreatHomeChildcare
|
|||||||
pb.Image = child_in.photo == null ? Properties.Resources.child : ImageWrangler.ByteArrayToImage(child_in.photo);
|
pb.Image = child_in.photo == null ? Properties.Resources.child : ImageWrangler.ByteArrayToImage(child_in.photo);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: BUG: If the child is new and does not have sign in/out status, program crashes.
|
|
||||||
//Fix: if studentStatus is null, set new var to "NONE YET", else set new var to actual status.
|
|
||||||
|
|
||||||
if (c is Button)
|
if (c is Button)
|
||||||
{
|
{
|
||||||
Button btn = (Button)c;
|
Button btn = (Button)c;
|
||||||
Attendance studentStatus = SqliteDataAccess.GetChildSignInOut(child_in);
|
studentStatus = SqliteDataAccess.GetChildSignInOut(child_in);
|
||||||
string btnText = child_in.DisplayName + "\n\r"
|
|
||||||
+ "Status: Signed " + studentStatus.in_out.ToUpper() + "\n\r"
|
if(studentStatus != null)
|
||||||
+ studentStatus.timestamp;
|
{
|
||||||
|
btnText = child_in.DisplayName + "\n\r"
|
||||||
|
+ "Status: Signed " + studentStatus.in_out.ToUpper() + "\n\r"
|
||||||
|
+ studentStatus.timestamp;
|
||||||
|
}
|
||||||
|
else //it's a new student.
|
||||||
|
{
|
||||||
|
/* The studentStatus object must be reinitialized here as
|
||||||
|
* GetChildSignInOut can return null. If so; then
|
||||||
|
* studentStatus is also null and is no longer an Attendence object.
|
||||||
|
*/
|
||||||
|
studentStatus = new Attendance();
|
||||||
|
|
||||||
|
//Set the status to out for the button display and the update panel color.
|
||||||
|
studentStatus.in_out = "out";
|
||||||
|
|
||||||
|
btnText = child_in.DisplayName + "\n\r"
|
||||||
|
+ "Status: Signed " + studentStatus.in_out.ToUpper() + "\n\r"
|
||||||
|
+ "No attendence record.";
|
||||||
|
}
|
||||||
|
|
||||||
//shove the child into the Tag property which is a type of 'object' for later retrieval.
|
//shove the child into the Tag property which is a type of 'object' for later retrieval.
|
||||||
//see also: cheap hax
|
//see also: cheap hax
|
||||||
|
Loading…
Reference in New Issue
Block a user