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>()); }
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); }