private async Task <List <CalendarRawItem> > GetCalendarRawItemsInternal() { var calendarRawItemsString = await _fetcher.FetchCalendar(); var calendarItems = RawStringParser.DeserializeCalendar(calendarRawItemsString); return(calendarItems); }
private async Task <List <Group> > GetFacultiesGroupsInternal() { var faculties = await _facultiesProvider.GetFaculties(); var facultiesGroups = new List <Group>(); foreach (var faculty in faculties) { var groupsString = await _fetcher.FetchGroups(faculty.TypeId); var groups = RawStringParser.DeserializeGroups(groupsString, faculty); facultiesGroups.AddRange(groups); } return(facultiesGroups); }
private async Task <List <Classroom> > GetClassroomsForFaculty(Faculty faculty) { try { var facultyClassroomsString = await _fetcher.FetchClassroom(faculty.TypeId); var facultyClassrooms = RawStringParser.DeserializeClassrooms(facultyClassroomsString); return(facultyClassrooms); } catch (Exception e) when(DeserializationOrFetchException(e)) { if (_classroomsBackCache.TryGetValue(faculty, out var backCacheClassrooms)) { return(backCacheClassrooms); } throw; } }
private async Task <List <Lecturer> > GetLecturersInternal(Faculty faculty) { try { var lecturersString = await _fetcher.FetchLecturers(faculty.TypeId); var lecturers = RawStringParser.DeserializeLecturers(lecturersString); return(lecturers); } catch (Exception e) when(DeserializationOrFetchException(e)) { if (_lecturersBackCache.TryGetValue(faculty, out var backCacheResult)) { return(backCacheResult); } throw; } }