public async Task <Dictionary <string, int> > GetSuggestedGroupsAsync(string groupName) //TODO Non static?
        {
            if (!networkChecker.IsConnected())                                                  //TODO Move to httpclient service?
            {
                throw new NetworkException();
            }

            var requestUrl = ScheduleLinkConstants.GroupSearchLink + groupName;
            var resultJson = await httpClientService.GetResponseAsStringAsync(requestUrl, new CancellationToken());

            var groups = JsonConvert.DeserializeObject <GroupRoot>(resultJson);

            return(groups.Groups != null?groups.Groups.ToDictionary(x => x.Name, x => x.Id) : new Dictionary <string, int>());
        }
示例#2
0
        public async Task <WeekSchedule> GetScheduleFromWebAsync(DateTime date)
        {
            if (!networkChecker.IsConnected())
            {
                throw new NetworkException("No internet connection"); //TODO Constants?
            }

            if (scheduleSettings.IsUserTeacher && scheduleSettings.TeacherId == 0)
            {
                throw new NoTeacherIdException();
            }

            if (!scheduleSettings.IsUserTeacher && scheduleSettings.GroupId == 0)
            {
                throw new NoGroupIdException();
            }

            var requestUrl = GetLink(date);

            var result = await httpClientService.GetResponseAsStringAsync(requestUrl, new CancellationToken());

            var weekSchedule = JsonConvert.DeserializeObject <WeekSchedule>(result);

            weekSchedule.LastUpdated = DateTime.Now;

            return(weekSchedule);
        }