diff --git a/Classroom Learning Partner/ViewModels/BackStage/OptionsPaneViewModel.cs b/Classroom Learning Partner/ViewModels/BackStage/OptionsPaneViewModel.cs
index 23c558f7f..167b045e6 100644
--- a/Classroom Learning Partner/ViewModels/BackStage/OptionsPaneViewModel.cs
+++ b/Classroom Learning Partner/ViewModels/BackStage/OptionsPaneViewModel.cs
@@ -1,6 +1,11 @@
using System;
using System.Drawing;
+using System.Linq;
+using Catel.IO;
using Catel.MVVM;
+using Catel.Windows;
+using Classroom_Learning_Partner.Services;
+using CLP.Entities;
namespace Classroom_Learning_Partner.ViewModels
{
@@ -16,6 +21,8 @@ public OptionsPaneViewModel()
private void InitializeCommands()
{
GenerateRandomMainColorCommand = new Command(OnGenerateRandomMainColorCommandExecute);
+ ClearHistoryCommand = new Command(OnClearHistoryCommandExecute);
+ GenerateCommand = new Command(OnGenerateCommandExecute);
}
#endregion //Constructor
@@ -45,5 +52,67 @@ private void OnGenerateRandomMainColorCommandExecute()
}
#endregion //Commands
+
+ /// SUMMARY
+ public Command ClearHistoryCommand { get; private set; }
+
+ private void OnClearHistoryCommandExecute()
+ {
+ PleaseWaitHelper.Show(() =>
+ {
+ foreach (var page in _dataService.CurrentNotebookInfo.Notebook.Pages)
+ {
+ page.History.ClearNonAnimationHistory();
+ }
+ },
+ null,
+ "Clearing History");
+ }
+
+ /// SUMMARY
+ public Command GenerateCommand { get; private set; }
+
+ private void OnGenerateCommandExecute()
+ {
+ // HACK: This is very hardcoded.
+ if (_dataService == null ||
+ _dataService.CurrentCacheInfo == null ||
+ _dataService.CurrentNotebookInfo == null ||
+ _dataService.CurrentNotebookInfo.Notebook == null)
+ {
+ return;
+ }
+
+ var classInfoPath = Path.Combine(_dataService.CurrentCacheInfo.ClassesFolderPath, "classInfo;KK;S1nEmeKiYkSuPPo3t2nWXQ.xml");
+ var classInfo = ClassInformation.LoadFromXML(classInfoPath);
+ if (classInfo == null)
+ {
+ return;
+ }
+
+ var teacher = classInfo.Teacher;
+ var copiedNotebookT = _dataService.CurrentNotebookInfo.Notebook.CopyForNewOwner(teacher);
+ copiedNotebookT.CurrentPage = copiedNotebookT.Pages.FirstOrDefault();
+ var notebookCompositeT = NotebookNameComposite.ParseNotebook(copiedNotebookT);
+ var notebookPathT = Path.Combine(_dataService.CurrentCacheInfo.NotebooksFolderPath, notebookCompositeT.ToFolderName());
+ var notebookInfoT = new NotebookInfo(_dataService.CurrentCacheInfo, notebookPathT)
+ {
+ Notebook = copiedNotebookT
+ };
+ PleaseWaitHelper.Show(() => _dataService.SaveNotebookLocally(notebookInfoT, true), null, "Saving Notebook for " + teacher.FullName);
+
+ foreach (var person in classInfo.StudentList)
+ {
+ var copiedNotebook = _dataService.CurrentNotebookInfo.Notebook.CopyForNewOwner(person);
+ copiedNotebook.CurrentPage = copiedNotebook.Pages.FirstOrDefault();
+ var notebookComposite = NotebookNameComposite.ParseNotebook(copiedNotebook);
+ var notebookPath = Path.Combine(_dataService.CurrentCacheInfo.NotebooksFolderPath, notebookComposite.ToFolderName());
+ var notebookInfo = new NotebookInfo(_dataService.CurrentCacheInfo, notebookPath)
+ {
+ Notebook = copiedNotebook
+ };
+ PleaseWaitHelper.Show(() => _dataService.SaveNotebookLocally(notebookInfo, true), null, "Saving Notebook for " + person.FullName);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Classroom Learning Partner/Views/BackStage/OptionsPaneView.xaml b/Classroom Learning Partner/Views/BackStage/OptionsPaneView.xaml
index a629707ce..0f0688da3 100644
--- a/Classroom Learning Partner/Views/BackStage/OptionsPaneView.xaml
+++ b/Classroom Learning Partner/Views/BackStage/OptionsPaneView.xaml
@@ -31,6 +31,22 @@
FontSize="22"
FontWeight="Bold" />
+
+
+
+
diff --git a/Classroom Learning Partner/Views/Panels/PageInformationPanelView.xaml b/Classroom Learning Partner/Views/Panels/PageInformationPanelView.xaml
index 964a16d1b..be55ffcad 100644
--- a/Classroom Learning Partner/Views/Panels/PageInformationPanelView.xaml
+++ b/Classroom Learning Partner/Views/Panels/PageInformationPanelView.xaml
@@ -50,7 +50,6 @@