Skip to content

Commit d84bd92

Browse files
committed
speed.
1 parent 45dbd70 commit d84bd92

25 files changed

+59
-68
lines changed

bin/MataSharp.XML

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bin/MataSharp.dll

-512 Bytes
Binary file not shown.

src/MataSharp/Assignment.cs

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ public partial class AssignmentVersion
4747
public override string ToString() { return this.Name; }
4848
}
4949

50-
internal partial struct AssignmentFolder
50+
internal struct AssignmentFolder
5151
{
5252
public AssignmentFolderItem[] Items { get; set; }
5353
public object Paging { get; set; }
5454
public int TotalCount { get; set; } //Looks like that's broken at their side.
5555
}
5656

57-
internal partial struct AssignmentFolderListItem
57+
internal struct AssignmentFolderListItem
5858
{
5959
public uint? Beoordeling { get; set; }
6060
public Attachment[] Bijlagen { get; set; }
@@ -71,14 +71,14 @@ internal partial struct AssignmentFolderListItem
7171
public object VersieNavigatieItems { get; set; }
7272
}
7373

74-
internal partial struct MagisterStyleAssignmentListVersion
74+
internal struct MagisterStyleAssignmentListVersion
7575
{
7676
public int Id { get; set; }
7777
public string Omschrijving { get; set; }
7878
public object Ref { get; set; }
7979
}
8080

81-
internal partial struct MagisterStyleAssignmentVersion
81+
sealed internal class MagisterStyleAssignmentVersion
8282
{
8383
public uint? Beoordeling { get; set; }
8484
public string DocentOpmerking { get; set; }
@@ -89,25 +89,23 @@ internal partial struct MagisterStyleAssignmentVersion
8989
public string LeerlingOpmerking { get; set; }
9090
public string Titel { get; set; }
9191

92-
public Mata Mata { get; internal set; }
93-
94-
public AssignmentVersion ToVersion()
92+
public AssignmentVersion ToVersion(Mata mata)
9593
{
9694
return new AssignmentVersion()
9795
{
9896
Grade = this.Beoordeling,
9997
TeacherNotice = this.DocentOpmerking,
100-
FeedbackAttachments = this.FeedbackBijlagen.ToList(AttachmentType.Assignment_teacher, this.Mata),
98+
FeedbackAttachments = this.FeedbackBijlagen.ToList(AttachmentType.Assignment_teacher, mata),
10199
HandInTime = this.IngeleverdOp.ToDateTime(),
102100
DeadLine = this.InleverenVoor.ToDateTime(),
103-
HandedInAttachments = this.LeerlingBijlagen.ToList(AttachmentType.Assignment_pupil, this.Mata),
101+
HandedInAttachments = this.LeerlingBijlagen.ToList(AttachmentType.Assignment_pupil, mata),
104102
HandedInFooter = this.LeerlingOpmerking,
105103
Name = this.Titel
106104
};
107105
}
108106
}
109107

110-
internal partial struct AssignmentFolderItem
108+
sealed internal class AssignmentFolderItem
111109
{
112110
public uint? Beoordeling { get; set; }
113111
public Attachment[] Bijlagen { get; set; }
@@ -123,26 +121,24 @@ internal partial struct AssignmentFolderItem
123121
public string Vak { get; set; }
124122
public MagisterStyleAssignmentListVersion[] VersieNavigatieItems { get; set; }
125123

126-
public Mata Mata { get; internal set; }
127-
128-
public Assignment toAssignment()
124+
public Assignment toAssignment(Mata mata)
129125
{
130126
var tmpVersions = new List<AssignmentVersion>();
131127
foreach(var compactAssignmentVersion in this.VersieNavigatieItems)
132128
{
133-
string URL = "https://" + this.Mata.School.URL + "/api/leerlingen/" + this.Mata.UserID + "/opdrachten/" + this.Id + "/versie/" + compactAssignmentVersion.Id;
129+
string URL = "https://" + mata.School.URL + "/api/leerlingen/" + mata.UserID + "/opdrachten/" + this.Id + "/versie/" + compactAssignmentVersion.Id;
134130

135-
string versionRaw = this.Mata.HttpClient.DownloadString(URL);
136-
var versionClean = JsonConvert.DeserializeObject<MagisterStyleAssignmentVersion>(versionRaw); versionClean.Mata = this.Mata;
131+
string versionRaw = mata.HttpClient.DownloadString(URL);
132+
var versionClean = JsonConvert.DeserializeObject<MagisterStyleAssignmentVersion>(versionRaw);
137133

138-
tmpVersions.Add(versionClean.ToVersion());
134+
tmpVersions.Add(versionClean.ToVersion(mata));
139135
}
140136

141137
return new Assignment()
142138
{
143139
Grade = this.Beoordeling,
144-
Attachments = this.Bijlagen.ToList(AttachmentType.Assignment_teacher, this.Mata),
145-
Teachers = this.Docenten.ToList(true, true, this.Mata),
140+
Attachments = this.Bijlagen.ToList(AttachmentType.Assignment_teacher, mata),
141+
Teachers = this.Docenten.ToList(true, true, mata),
146142
ID = this.Id,
147143
HandInTime = this.IngeleverdOp.ToDateTime(),
148144
DeadLine = this.InleverenVoor.ToDateTime(),

src/MataSharp/DigitalSchoolUtilities.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace MataSharp
77
{
8-
public partial class DigitalSchoolUtility : IComparable<DigitalSchoolUtility>
8+
public class DigitalSchoolUtility : IComparable<DigitalSchoolUtility>
99
{
1010
public long EAN { get; set; }
1111
public DateTime End { get; set; }
@@ -29,7 +29,7 @@ public int CompareTo(DigitalSchoolUtility other)
2929
}
3030
}
3131

32-
public partial class DigitalSchoolUtilityClass : IComparable<DigitalSchoolUtilityClass>
32+
public class DigitalSchoolUtilityClass : IComparable<DigitalSchoolUtilityClass>
3333
{
3434
public string ClassAbbreviation { get; set; }
3535
public int ID { get; set; }
@@ -43,7 +43,7 @@ public int CompareTo(DigitalSchoolUtilityClass other)
4343
}
4444
}
4545

46-
internal partial struct DigitaalLesMatriaalLijstItem
46+
internal struct DigitaalLesMatriaalLijstItem
4747
{
4848
public string Afkorting { get; set; }
4949
public int Id { get; set; }
@@ -52,7 +52,7 @@ internal partial struct DigitaalLesMatriaalLijstItem
5252
public object Ref { get; set; }
5353
}
5454

55-
internal partial struct DigitaalLesMatriaal
55+
sealed internal class DigitaalLesMatriaal
5656
{
5757
public long EAN { get; set; }
5858
public string Eind { get; set; }
@@ -85,7 +85,7 @@ internal DigitalSchoolUtility ToDigitalSchoolUtility()
8585
}
8686
}
8787

88-
internal partial struct DigitaalLesMatriaalVakDetails
88+
sealed internal class DigitaalLesMatriaalVakDetails
8989
{
9090
public string Afkorting { get; set; }
9191
public int Id { get; set; }

src/MataSharp/HTTPClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace MataSharp
99
{
10-
internal class MataHTTPClient : IDisposable
10+
sealed internal class MataHTTPClient : IDisposable
1111
{
1212
private WebClient Client = new WebClient();
1313

src/MataSharp/Homework.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ internal partial struct HuiswerkItemLijstDagItem
111111
public string VakOmschrijvingen { get; set; }
112112
}
113113

114-
internal partial class Huiswerk
114+
sealed internal class Huiswerk
115115
{
116116
public string AantekeningLeerling { get; set; }
117117
public bool Afgerond { get; set; }

src/MataSharp/MagisterMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ object ICloneable.Clone()
345345
}
346346
}
347347

348-
internal partial class MagisterStyleMessage
348+
sealed internal partial class MagisterStyleMessage
349349
{
350350
#region Content
351351
public int Id { get; set; }

src/MataSharp/MagisterPerson.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace MataSharp
88
{
9-
public partial class MagisterPerson : IComparable<MagisterPerson>, ICloneable, IEqualityComparer<MagisterPerson>
9+
sealed public partial class MagisterPerson : IComparable<MagisterPerson>, ICloneable, IEqualityComparer<MagisterPerson>
1010
{
1111
public uint ID { get; set; }
1212
public object Ref { get; set; } // Even Schoolmaster doesn't know what this is, it's mysterious. Just keep it in case.
@@ -100,7 +100,7 @@ public enum PersonType : int
100100
Project = 8
101101
}
102102

103-
internal partial struct MagisterStylePerson
103+
sealed internal class MagisterStylePerson
104104
{
105105
public uint Id { get; set; }
106106
public object Ref { get; set; } // Even Schoolmaster doesn't know what this is, it's mysterious. Just keep it in case.

src/MataSharp/Mata.cs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public partial class Mata : IDisposable, ICloneable
2020
public string SessionID { get; private set; }
2121

2222
public string UserName { get; private set; }
23-
internal MagisterSchool School { get; private set; }
23+
public MagisterSchool School { get; private set; }
2424
public MagisterPerson Person { get; private set; }
2525

26-
internal readonly MataHTTPClient HttpClient;
26+
internal readonly MataHTTPClient HttpClient = new MataHTTPClient();
2727
internal readonly Dictionary<string, List<MagisterStylePerson>> checkedPersons = new Dictionary<string, List<MagisterStylePerson>>();
2828

2929
/// <summary>
@@ -34,8 +34,6 @@ public partial class Mata : IDisposable, ICloneable
3434
/// <param name="UserPassword">Password to log in with.</param>
3535
public Mata(MagisterSchool School, string UserName, string UserPassword)
3636
{
37-
this.HttpClient = new MataHTTPClient();
38-
3937
this.School = School;
4038
this.UserName = UserName;
4139

@@ -52,7 +50,7 @@ public Mata(MagisterSchool School, string UserName, string UserPassword)
5250

5351
this.HttpClient.Cookie = "SESSION_ID=" + this.SessionID + "&fileDownload=true"; //yummy! cookies!
5452

55-
this.Person = this.GetPersons(this.Name)[0]; //Get itself as MagisterPerson from the servers.
53+
this.Person = this.GetPersons(this.Name).Single(); //Get itself as MagisterPerson from the servers.
5654
}
5755

5856
/// <summary>
@@ -108,7 +106,7 @@ public bool ComposeAndTrySendMessage(string Subject, string Body, IEnumerable<Ma
108106
/// </summary>
109107
/// <param name="Subject">Subject to use</param>
110108
/// <param name="Body">Body to use</param>
111-
/// <param name="Recipients">MagisterPersons to send to</param>
109+
/// <param name="Recipients">Name of the persons to send to</param>
112110
public bool ComposeAndTrySendMessage(string Subject, string Body, IEnumerable<string> Recipients)
113111
{
114112
return new MagisterMessage(this)
@@ -140,8 +138,7 @@ public List<MagisterMessageFolder> GetMessageFolders()
140138
ParentID = messageFolder.ParentId,
141139
Ref = messageFolder.Ref,
142140
MessagesURI = messageFolder.BerichtenUri,
143-
Mata = this,
144-
FolderType = (MessageFolder)messageFolder.Id
141+
Mata = this
145142
});
146143
}
147144
return tmplst;
@@ -253,9 +250,9 @@ public List<StudyGuide> GetStudyGuides()
253250
URL = "https://" + School.URL + "/api/leerlingen/" + this.UserID + "/studiewijzers/" + compactStudyGuide.Id;
254251

255252
string studyGuideRaw = this.HttpClient.DownloadString(URL);
256-
var studyGuideClean = JsonConvert.DeserializeObject<StudieWijzer>(studyGuideRaw); studyGuideClean.Mata = this;
253+
var studyGuideClean = JsonConvert.DeserializeObject<StudieWijzer>(studyGuideRaw);
257254

258-
list.Add(studyGuideClean.ToStudyGuide());
255+
list.Add(studyGuideClean.ToStudyGuide(this));
259256
}
260257
return list;
261258
}
@@ -272,8 +269,8 @@ public List<Assignment> GetAssignments()
272269
{
273270
URL = "https://" + School.URL + "/api/leerlingen/" + this.UserID + "/opdrachten/" + CompactAssignment.Id;
274271
string AssignmentRaw = this.HttpClient.DownloadString(URL);
275-
var AssignmentClean = JsonConvert.DeserializeObject<AssignmentFolderItem>(AssignmentRaw); AssignmentClean.Mata = this;
276-
list.Add(AssignmentClean.toAssignment());
272+
var AssignmentClean = JsonConvert.DeserializeObject<AssignmentFolderItem>(AssignmentRaw);
273+
list.Add(AssignmentClean.toAssignment(this));
277274
}
278275
return list;
279276
}
@@ -359,7 +356,7 @@ object ICloneable.Clone()
359356
}
360357
}
361358

362-
internal partial struct MagisterStyleMata
359+
internal struct MagisterStyleMata
363360
{
364361
public string Naam { get; set; }
365362
public string GebruikersId { get; set; }

src/MataSharp/MessageFolder.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public partial class MagisterMessageFolder : IEnumerable<MagisterMessage>
1313
public string Name { get; set; }
1414
public uint UnreadMessagesCount { get; set; }
1515
public int ID { get; set; }
16-
public MessageFolder FolderType { get; set; }
16+
public MessageFolder FolderType { get { return (MessageFolder)this.ID; } }
1717
public int ParentID { get; set; }
1818
public string MessagesURI { get; set; }
1919
public object Ref { get; set; } // Even Schoolmaster doesn't know what this is, it's mysterious. Just keep it in case.
@@ -22,7 +22,7 @@ public partial class MagisterMessageFolder : IEnumerable<MagisterMessage>
2222
}
2323

2424
public enum MessageFolder : int
25-
{ //Defines the folders where messages can be in, server handles it as ID's. We? We handle it as an enum :D
25+
{ //Defines the folders where messages possibly are in, server handles it as ID's. We? We handle it as an enum :D
2626
Inbox = -101,
2727
SentMessages = -103,
2828
Bin = -102
@@ -40,12 +40,12 @@ internal partial struct MagisterStyleMessageFolderListItem
4040

4141
internal partial struct MagisterStyleMessageFolder
4242
{
43-
public MessageFolderItem[] Items { get; set; }
43+
public CompactMagisterMessage[] Items { get; set; }
4444
public int TotalCount { get; set; }
4545
public object Paging { get; set; }
4646
}
4747

48-
internal partial struct MessageFolderItem
48+
internal partial struct CompactMagisterMessage
4949
{
5050
public int Id { get; set; }
5151
public object Ref {get; set; }

0 commit comments

Comments
 (0)