public async Task <List <Course> > GetUserPlanForCurrentSemester(bool IsOffline, bool clean = false) { if (IsOffline) { var fileService = DependencyService.Get <ISaveAndLoad>(); if (fileService == null || !fileService.FileExists("Schedule1.txt")) { throw new ArxiusFileException("Brak zapisanego offline planu, aby go wygenerować, wejdź na widok planu zajęć"); } else { var page = await fileService.LoadTextAsync("Schedule1.txt"); if (page == null || page.Length == 0) { throw new ArxiusException(); } return(CoursesParsers.GetUserPlanForCurrentSemester(page)); } } return(await Cache.Get("GetUserPlanForCurrentSemester", async() => { var page = await HTMLUtils.GetPage("/records/schedule/"); var fileService = DependencyService.Get <ISaveAndLoad>(); try { await fileService.SaveTextAsync("Schedule1.txt", page); } catch { } return CoursesParsers.GetUserPlanForCurrentSemester(page); }, clean)); }
private async Task <Course> GetCourseECTSPoints(Course course, bool clean = false) { var page = await HTMLUtils.GetPage(course.Url); CoursesParsers.GetCourseECTSandGroup(page, course); return(course); }
public async Task <List <Course> > GetAllCourses(bool clean = false) { return(await Cache.Get("GetAllCourses", async() => { var page = await HTMLUtils.GetPage("/courses/"); return CoursesParsers.GetAllCourses(page, false); }, clean)); }
public async Task <Tuple <int, int, List <Student> > > GetStudentsList(_Class _class, bool clean = false) { return(await Cache.Get(new { c = _class, a = "GetStudentsList" }, async() => { var page = await HTMLUtils.GetPage(_class.ListUrl); return CoursesParsers.GetStudentsList(page); }, clean)); }
public async Task <List <Employee> > GetEmployees(bool clean = false) { return(await Cache.Get("GetEmployees", async() => { var page = await HTMLUtils.GetPage("/users/employees/"); return UtilsParsers.GetEmployeesList(page); }, clean)); }
public async Task <UserPage> GetUserPage(bool clean = false) { return(await Cache.Get("GetUserPage", async() => { var page = await HTMLUtils.GetPage(string.Format(CrossLayerData.BaseAddress, "/users/")); return UtilsParsers.GetUserPage(page); }, clean)); }
public async Task <Employee> GetEmployeeDetails(Employee employee, bool clean = false) { return(await Cache.Get(new { a = "GetEmployeeDetails", p = employee.Name }, async() => { var page = await HTMLUtils.GetPage(employee.Url); return UtilsParsers.GetEmployeeDetails(page, employee); } , clean)); }
public async Task <List <News> > GetFeedPage(int pageNumber = 1, bool clean = false) { return(await Cache.Get(new { a = "GetFeedPage", p = pageNumber }, async() => { var s1 = string.Format(CrossLayerData.BaseAddress, "/news/?page={0}"); var page = await HTMLUtils.GetPage(string.Format(s1, pageNumber)); return UtilsParsers.GetFeedElementsContent(page); }, clean)); }
public async Task <Course> GetCourseWideDetails(Course course, bool clean = false) { var ret = await Cache.Get(new { c = course, a = "GetCourseWideDetails" }, async() => { var s = new Stopwatch(); var page = await HTMLUtils.GetPage(course.Url); s.Start(); CoursesParsers.GetCourseWideDetails(page, course); s.Stop(); Debug.WriteLine("Parsing - {0}", s.Elapsed); return(course); }, clean); var fileService = DependencyService.Get <ISaveAndLoad>(); if (fileService != null && fileService.FileExists(string.Format(Properties.Resources.FileName, course.Name))) { ret.Notes = await fileService.LoadTextAsync(string.Format(Properties.Resources.FileName, course.Name)); } return(ret); }
public async Task <bool> IsLoggedIn() { var page = await HTMLUtils.GetPage("/users/employees/"); return(page.Contains("user_is_authenticated = true")); }