import homework for students
This commit is contained in:
parent
0acb89c429
commit
e1515c7a4f
@ -1755,12 +1755,13 @@ namespace EduNetworkBuilder
|
||||
}
|
||||
else if (extension == ".enbh")
|
||||
{
|
||||
if(NB.GetUser() == null)
|
||||
if(NB.GetUser() == null || CurrentUser == null)
|
||||
{
|
||||
MessageBox.Show(NB.Translate("NB_LoadUserFirst"));
|
||||
return;
|
||||
}
|
||||
//Here we would load a homework file
|
||||
CurrentUser.LoadHomeworkFile(filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -239,6 +239,19 @@ namespace EduNetworkBuilder
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool HasHomework(SchoolworkClass ToCheck, bool compare_ID)
|
||||
{
|
||||
//Check to see if we already exist
|
||||
foreach (SchoolworkClass one in Projects)
|
||||
{
|
||||
if (compare_ID && one.ThisID == ToCheck.ThisID)
|
||||
return true;
|
||||
else if (!compare_ID && one.Name.ToLower() == ToCheck.Name.ToLower())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool RegisterNewlySubmittedHW(SchoolworkClass ToCheck)
|
||||
{
|
||||
//Check to see if we already exist
|
||||
@ -255,6 +268,65 @@ namespace EduNetworkBuilder
|
||||
return true;
|
||||
}
|
||||
|
||||
public void LoadHomeworkFile(string HomeworkFile)
|
||||
{
|
||||
if (!File.Exists(HomeworkFile)) return; //The file does not exist
|
||||
if (! (Path.GetExtension(HomeworkFile).ToLower() == ".enbh")) return; //It is not a homework file
|
||||
List<SchoolworkClass> WhatWeRead = SchoolworkClass.LoadMultiple(HomeworkFile);
|
||||
if(WhatWeRead.Count > 0) //We have something to import
|
||||
{
|
||||
bool IsOK = true;
|
||||
//Verify that all the homeworks are OK to load
|
||||
foreach(SchoolworkClass one in WhatWeRead)
|
||||
{
|
||||
//if one is already submitted, reject it
|
||||
if(one.IsSumbitted || one.IsGraded)
|
||||
{
|
||||
IsOK = false;
|
||||
}
|
||||
}
|
||||
//Load them
|
||||
if(IsOK)
|
||||
{
|
||||
int totalHW =0;
|
||||
int Skipped = 0;
|
||||
int imported = 0;
|
||||
int replaced = 0;
|
||||
foreach (SchoolworkClass one in WhatWeRead)
|
||||
{
|
||||
totalHW++;
|
||||
if(isAdmin)
|
||||
{
|
||||
//we want to prompt what to do.
|
||||
//Ask for each (import, skip, replace)
|
||||
//Ask only for duplicates
|
||||
// Determine it is duplicate by comparing ID
|
||||
// Determine if it is duplicate by comparing name
|
||||
//Never ask
|
||||
// Automatically replace duplicates
|
||||
// Automatically skip duplicates
|
||||
// Import records but make a new ID for each puzzle
|
||||
}
|
||||
else
|
||||
{
|
||||
if(AddHomework(one))
|
||||
{
|
||||
imported++;
|
||||
}
|
||||
else
|
||||
{
|
||||
Skipped++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(NB.Translate("PC_AlreadySubmittedOrGraded"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Organize the projects into a nice project tree.
|
||||
/// </summary>
|
||||
|
@ -5,6 +5,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace EduNetworkBuilder
|
||||
{
|
||||
@ -94,13 +95,35 @@ namespace EduNetworkBuilder
|
||||
public void Load(string filename)
|
||||
{
|
||||
XmlDocument xmlDoc = new XmlDocument();
|
||||
|
||||
if (File.Exists(filename))
|
||||
{
|
||||
xmlDoc.Load(filename);
|
||||
Load(xmlDoc);
|
||||
List<SchoolworkClass> results = Load(xmlDoc);
|
||||
if (results.Count > 0) Clone(results[0], this);
|
||||
}
|
||||
}
|
||||
|
||||
public static List<SchoolworkClass> LoadMultiple(string filename)
|
||||
{
|
||||
XmlDocument xmlDoc = new XmlDocument();
|
||||
List<SchoolworkClass> results = new List<SchoolworkClass>();
|
||||
if (File.Exists(filename))
|
||||
{
|
||||
try
|
||||
{
|
||||
xmlDoc.Load(filename);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.ToString());
|
||||
return results; //return an empty list
|
||||
}
|
||||
results.AddRange(Load(xmlDoc));
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
public static List<SchoolworkClass> Load(XmlNode TheNode)
|
||||
{
|
||||
SchoolworkClass currentOne = new SchoolworkClass();
|
||||
|
Loading…
Reference in New Issue
Block a user