@@ -22,7 +22,7 @@ public partial class WebUntisClient
2222 /// <exception cref="WebUntisException">Thrown when the WebUntis API returned an error</exception>
2323 public async Task < StatusData > GetStatusDataAsync ( string id = "getStatusData" , CancellationToken ct = default )
2424 {
25- StatusData statusData = await MakeRequestAsync < object , StatusData > ( id , "getStatusData" , new object ( ) , ct ) ;
25+ StatusData statusData = await MakeJSONRPCRequestAsync < object , StatusData > ( id , "getStatusData" , new object ( ) , ct ) ;
2626 return statusData ;
2727 }
2828
@@ -38,7 +38,7 @@ public async Task<StatusData> GetStatusDataAsync(string id = "getStatusData", Ca
3838 /// <exception cref="WebUntisException">Thrown when the WebUntis API returned an error</exception>
3939 public async Task < Timegrid > GetTimegridAsync ( string id = "getTimegrid" , CancellationToken ct = default )
4040 {
41- Timegrid timeGrid = await MakeRequestAsync < object , Timegrid > ( id , "getTimegridUnits" , new object ( ) , ct ) ;
41+ Timegrid timeGrid = await MakeJSONRPCRequestAsync < object , Timegrid > ( id , "getTimegridUnits" , new object ( ) , ct ) ;
4242 return timeGrid ;
4343 }
4444
@@ -54,7 +54,7 @@ public async Task<Timegrid> GetTimegridAsync(string id = "getTimegrid", Cancella
5454 /// <exception cref="WebUntisException">Thrown when the WebUntis API returned an error</exception>
5555 public async Task < SchoolYear [ ] > GetSchoolYearsAsync ( string id = "getSchoolyears" , CancellationToken ct = default )
5656 {
57- List < SchoolYear > schoolYears = await MakeRequestAsync < object , List < SchoolYear > > ( id , "getSchoolyears" , new object ( ) , ct ) ;
57+ List < SchoolYear > schoolYears = await MakeJSONRPCRequestAsync < object , List < SchoolYear > > ( id , "getSchoolyears" , new object ( ) , ct ) ;
5858 return schoolYears . ToArray ( ) ;
5959 }
6060
@@ -70,7 +70,7 @@ public async Task<SchoolYear[]> GetSchoolYearsAsync(string id = "getSchoolyears"
7070 /// <exception cref="WebUntisException">Thrown when the WebUntis API returned an error</exception>
7171 public async Task < SchoolYear > GetCurrentSchoolYearAsync ( string id = "getCurrentSchoolyear" , CancellationToken ct = default )
7272 {
73- SchoolYear schoolYear = await MakeRequestAsync < object , SchoolYear > ( id , "getCurrentSchoolyear" , new object ( ) , ct ) ;
73+ SchoolYear schoolYear = await MakeJSONRPCRequestAsync < object , SchoolYear > ( id , "getCurrentSchoolyear" , new object ( ) , ct ) ;
7474 return schoolYear ;
7575 }
7676
@@ -86,10 +86,33 @@ public async Task<SchoolYear> GetCurrentSchoolYearAsync(string id = "getCurrentS
8686 /// <exception cref="WebUntisException">Thrown when the WebUntis API returned an error</exception>
8787 public async Task < Holidays [ ] > GetHolidaysAsync ( string id = "getHolidays" , CancellationToken ct = default )
8888 {
89- List < Holidays > holidays = await MakeRequestAsync < object , List < Holidays > > ( id , "getHolidays" , new object ( ) , ct ) ;
89+ List < Holidays > holidays = await MakeJSONRPCRequestAsync < object , List < Holidays > > ( id , "getHolidays" , new object ( ) , ct ) ;
9090 return holidays . ToArray ( ) ;
9191 }
9292
93+ /// <summary>
94+ /// Get all classreg events
95+ /// </summary>
96+ /// <param name="startDate">Start date for the requested events</param>
97+ /// <param name="endDate">End date for the requested events</param>
98+ /// <param name="id">Identifier for the request</param>
99+ /// <param name="ct">Cancellatio token</param>
100+ /// <returns>All classreg events in the given date range</returns>
101+ /// <exception cref="ObjectDisposedException">Thrown when the instance was disposed</exception>
102+ /// <exception cref="UnauthorizedAccessException">Thrown when you're not logged in</exception>
103+ /// <exception cref="HttpRequestException">Thrown when an error happend while the http request</exception>
104+ /// <exception cref="WebUntisException">Thrown when the WebUntis API returned an error</exception>
105+ public async Task < ClassregEvent [ ] > GetClassregEventsAsync ( DateTime startDate , DateTime endDate , string id = "getCLassregEvents" , CancellationToken ct = default )
106+ {
107+ GetClassregEventsRequestModel model = new GetClassregEventsRequestModel ( )
108+ {
109+ StartDate = startDate ,
110+ EndDate = endDate
111+ } ;
112+ List < ClassregEvent > classregEvents = await MakeJSONRPCRequestAsync < GetClassregEventsRequestModel , List < ClassregEvent > > ( id , "getClassregEvents" , model , ct ) ;
113+ return classregEvents . ToArray ( ) ;
114+ }
115+
93116 #region Timetable
94117 /// <summary>
95118 /// Get the timetable the user as their you logged in
@@ -140,7 +163,7 @@ public async Task<Period[]> GetTimetableForClassAsync(Class @class, DateTime sta
140163 StartDate = startDate ,
141164 EndDate = endDate
142165 } ;
143- List < Period > timetable = await MakeRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
166+ List < Period > timetable = await MakeJSONRPCRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
144167 return timetable . ToArray ( ) ;
145168 }
146169
@@ -173,7 +196,7 @@ public async Task<Period[]> GetTimetableForTeacherAsync(Teacher teacher, DateTim
173196 StartDate = startDate ,
174197 EndDate = endDate
175198 } ;
176- List < Period > timetable = await MakeRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
199+ List < Period > timetable = await MakeJSONRPCRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
177200 return timetable . ToArray ( ) ;
178201 }
179202
@@ -206,7 +229,7 @@ public async Task<Period[]> GetTimetableForSubjectAsync(Subject subject, DateTim
206229 StartDate = startDate ,
207230 EndDate = endDate
208231 } ;
209- List < Period > timetable = await MakeRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
232+ List < Period > timetable = await MakeJSONRPCRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
210233 return timetable . ToArray ( ) ;
211234 }
212235
@@ -239,7 +262,7 @@ public async Task<Period[]> GetTimetableForRoomAsync(Room room, DateTime startDa
239262 StartDate = startDate ,
240263 EndDate = endDate
241264 } ;
242- List < Period > timetable = await MakeRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
265+ List < Period > timetable = await MakeJSONRPCRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
243266 return timetable . ToArray ( ) ;
244267 }
245268
@@ -272,7 +295,7 @@ public async Task<Period[]> GetTimetableForStudentAsync(Student student, DateTim
272295 StartDate = startDate ,
273296 EndDate = endDate
274297 } ;
275- List < Period > timetable = await MakeRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
298+ List < Period > timetable = await MakeJSONRPCRequestAsync < TimetableRequestModel , List < Period > > ( id , "getTimetable" , requestModel , ct ) ;
276299 return timetable . ToArray ( ) ;
277300 }
278301 #endregion
0 commit comments