public async Task <List <Message> > GetMessages(CancellationToken cancellationToken = default) { var url = OscaUrlBuilder.MessagesUrl(AccessTokens.SessionId); var result = await GetParsed <MessageMessage>(url, cancellationToken); return(result.Message.OrderByDescending(m => m.Date).ToList());; }
public async Task <List <StudentExam> > GetExams(CancellationToken cancellationToken = default) { var url = OscaUrlBuilder.ExamsUrl(AccessTokens.SessionId, OscaUrlBuilder.PersonType.Student); var result = await GetParsed <ExamMessage>(url, cancellationToken); return(result.StudentExam); }
public async Task <List <Appointment> > GetAppointments(CancellationToken cancellationToken = default) { var url = OscaUrlBuilder.AppointmentsUrl(AccessTokens.SessionId); var result = await GetParsed <AppointmentMessage>(url, cancellationToken); return(result.Appointment); }
public async Task <List <EventInfo> > GetEventInfo(StudentEvent e, CancellationToken cancellationToken = default) { var url = OscaUrlBuilder.EventInfoUrl(AccessTokens.SessionId, e.CourseID); var result = await GetParsed <EventInfoMessage>(url, cancellationToken); return(result.EventInfo); }
public async Task <string> GetMaterialsAsString(CancellationToken cancellationToken = default) { var url = OscaUrlBuilder.GetMaterialsUrl(AccessTokens.SessionId, "368793939484652", "TIMETABLE"); var client = HttpClientWithCookie(); var result = await client.GetAsync(url, cancellationToken); return(await result.Content.ReadAsStringAsync()); }
/// <summary> /// Gibt "STD" oder "DOZ" zurück /// </summary> /// <returns>The person type.</returns> public async Task <string> GetPersonType(CancellationToken cancellationToken = default) { var result = await GetParsed <PersonMessage>(OscaUrlBuilder.PersonTypeUrl(AccessTokens.SessionId), cancellationToken); return(result?.Person.Actortype); }