Beispiel #1
0
        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));
        }
Beispiel #2
0
        private async Task <Course> GetCourseECTSPoints(Course course, bool clean = false)
        {
            var page = await HTMLUtils.GetPage(course.Url);

            CoursesParsers.GetCourseECTSandGroup(page, course);
            return(course);
        }
Beispiel #3
0
 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));
 }
Beispiel #4
0
 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));
 }
Beispiel #5
0
 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));
 }
Beispiel #6
0
 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));
 }
Beispiel #7
0
 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));
 }
Beispiel #8
0
 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));
 }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        public async Task <bool> IsLoggedIn()
        {
            var page = await HTMLUtils.GetPage("/users/employees/");

            return(page.Contains("user_is_authenticated = true"));
        }