diff --git a/EduNetworkBuilder/PersonClass.cs b/EduNetworkBuilder/PersonClass.cs
index a231643..4e58e54 100644
--- a/EduNetworkBuilder/PersonClass.cs
+++ b/EduNetworkBuilder/PersonClass.cs
@@ -218,5 +218,16 @@ namespace EduNetworkBuilder
}
#endregion
+ public bool AddHomework(SchoolworkClass ToAdd)
+ {
+ //Check to see if we already exist
+ foreach(SchoolworkClass one in Projects)
+ {
+ if (one.ThisID == ToAdd.ThisID) return false;
+ }
+ Projects.Add(ToAdd);
+ return true;
+ }
+
}
}
diff --git a/EduNetworkBuilder/PersonProfileForm.cs b/EduNetworkBuilder/PersonProfileForm.cs
index 215ee85..f1e3d3f 100644
--- a/EduNetworkBuilder/PersonProfileForm.cs
+++ b/EduNetworkBuilder/PersonProfileForm.cs
@@ -119,6 +119,7 @@ namespace EduNetworkBuilder
}
catch(Exception e)
{
+ MessageBox.Show(e.ToString());
CurrentUser = null;
Close(); //we did not succeed. Exit out
}
@@ -696,7 +697,22 @@ namespace EduNetworkBuilder
private void btnHWGive_Click(object sender, EventArgs e)
{
-
+ int NumStudents = 0;
+ int NumGiven = 0;
+ int NumAlready = 0;
+ //Create a new homework class for each student, containing this homework
+ if (ViewedSchoolwork == null) return;//We do not have homework selected
+ foreach(PersonClass PC in CurrentUser.Students)
+ {
+ NumStudents++;
+ SchoolworkClass SWC = ViewedSchoolwork.Clone();
+ SWC.isMaster = true; //It is homework
+ SWC.IsSumbitted = false; //It has not yet been submitted
+ bool didit = PC.AddHomework(SWC);
+ if (didit) NumGiven++;
+ else NumAlready++;
+ }
+ MessageBox.Show(string.Format(NB.Translate("PPF_GiveHWStats"),"\n\t" + NumStudents, "\n\t" + NumGiven, "\n\t" + NumAlready ));
}
private void btnHWSave_Click(object sender, EventArgs e)
diff --git a/EduNetworkBuilder/Resources/languages/edustrings.resx b/EduNetworkBuilder/Resources/languages/edustrings.resx
index b84c5ec..697f2d0 100644
--- a/EduNetworkBuilder/Resources/languages/edustrings.resx
+++ b/EduNetworkBuilder/Resources/languages/edustrings.resx
@@ -1793,6 +1793,10 @@
Generate Files
PPF_GenerateFiles = Generate Files
+
+ Result: {0} Students {1} Given {2} Already had this homework
+ PPF_GiveHWStats = Result: {0} Students {1} Given {2} Already had this homework
+
Give
PPF_HWGive = Give
diff --git a/EduNetworkBuilder/SchoolworkClass.cs b/EduNetworkBuilder/SchoolworkClass.cs
index 15d2409..7822d20 100644
--- a/EduNetworkBuilder/SchoolworkClass.cs
+++ b/EduNetworkBuilder/SchoolworkClass.cs
@@ -38,6 +38,8 @@ namespace EduNetworkBuilder
public DateTime SaveDate; //The date this file was saved.
public UInt64 ThisID { get; protected set; }
+ protected SchoolworkClass() { }
+
public SchoolworkClass(XmlNode TheNode)
{
Load(TheNode);
@@ -53,6 +55,23 @@ namespace EduNetworkBuilder
isMaster = true;
}
+ public SchoolworkClass Clone()
+ {
+ SchoolworkClass dest = new SchoolworkClass();
+ Clone(this, dest);
+ return dest;
+ }
+ public static void Clone(SchoolworkClass source, SchoolworkClass dest)
+ {
+ dest.Class = source.Class;
+ dest.Description = source.Description;
+ dest.DueDate = source.DueDate;
+ dest.isMaster = source.isMaster;
+ dest.IsSumbitted = source.IsSumbitted;
+ dest.Name = source.Name;
+ dest.SaveDate = source.SaveDate;
+ dest.theProject = source.theProject.Clone();
+ }
#region Load and Save
//Load and save functions