Exemplo n.º 1
0
        protected async Task RefreshTimetables(int semester)
        {
            MyDB DB = new MyDB();

            if (CrossConnectivity.Current.IsConnected)
            {
                try
                {
                    App_activity_indicator.IsVisible = true;
                    App_activity_indicator.IsRunning = true;
                    string webaddress = Libraries.MobileConfig.GetWebAddress(Application.Current.Properties["campus"].ToString()) +
                                        string.Format("DataFinder.aspx?dataFormat=personaltimetable&code={0}&acad={1}&sem={2}&system={3}",
                                                      Application.Current.Properties["userno"], txt_year.SelectedItem.ToString(),
                                                      semester, txt_system.SelectedItem.ToString());
                    _client.Timeout = TimeSpan.Parse("00:00:15");
                    var content = await _client.GetStringAsync(webaddress);

                    var n = JsonConvert.DeserializeObject <List <Model.TimetableModel> >(content);
                    List <Model.TimetableModel> TT_data = new List <Model.TimetableModel>(n);
                    if (TT_data.Count > 0)
                    {
                        DB.resetTimetables(txt_year.SelectedItem.ToString(), txt_semester.SelectedItem.ToString());
                        DB.AddTimetables(content, txt_year.SelectedItem.ToString(), txt_semester.SelectedItem.ToString());
                    }
                    else
                    {
                        DB.resetTimetables(txt_year.SelectedItem.ToString(), txt_semester.SelectedItem.ToString());
                        lv_timetable.ItemsSource = null;
                    }

                    App_activity_indicator.IsVisible = false;
                    App_activity_indicator.IsRunning = false;
                }
                catch (Exception ex)
                {
                    await DisplayAlert("Error!", "" + ex.Message, "OK");

                    DB.resetTimetables(txt_year.SelectedItem.ToString(), txt_semester.SelectedItem.ToString());
                    lv_timetable.ItemsSource         = null;
                    App_activity_indicator.IsVisible = false;
                    App_activity_indicator.IsRunning = false;
                }
            }
            else
            {
                await DisplayAlert("Warning", "No Internet Connection", "OK");
            }

            var list = JsonConvert.DeserializeObject <List <Model.TimetableModel> >(DB.GetAllTimetables(txt_year.SelectedItem.ToString(), txt_semester.SelectedItem.ToString()));
            List <Model.TimetableModel> display_data = new List <Model.TimetableModel>(list);

            lv_timetable.ItemsSource = display_data;
        }
Exemplo n.º 2
0
        protected async void RefreshTimetables(int Sem)
        {
            MyDB DB = new MyDB();

            if (CrossConnectivity.Current.IsConnected)
            {
                try
                {
                    App_activity_indicator.IsVisible = true;
                    App_activity_indicator.IsRunning = true;

                    string webaddress = Libraries.MobileConfig.GetWebAddress(Application.Current.Properties["campus"].ToString()) +
                                        string.Format("DataFinder.aspx?dataFormat=personaltimetable&code={0}&acad={1}&sem={2}&system={3}",
                                                      Application.Current.Properties["userno"], acad_year, Sem, study_sys);
                    _client.Timeout = TimeSpan.Parse("00:00:15");
                    var content = await _client.GetStringAsync(webaddress);

                    //await DisplayAlert("Error!", ""+ content, "OK");
                    var n = JsonConvert.DeserializeObject <List <Model.TimetableModel> >(content);
                    List <Model.TimetableModel> TT_data = new List <Model.TimetableModel>(n);
                    if (TT_data.Count > 0)
                    {
                        DB.resetTimetables(acad_year, semester);
                        DB.AddTimetables(content, acad_year, semester);
                    }
                    else
                    {
                        DB.resetTimetables(acad_year, semester);
                        txtclass.ItemsSource = null;
                    }

                    App_activity_indicator.IsVisible = false;
                    App_activity_indicator.IsRunning = false;
                }
                catch (Exception ex)
                {
                    await DisplayAlert("Error!", "" + ex.Message, "OK");

                    DB.resetTimetables(acad_year, semester);
                    txtclass.ItemsSource             = null;
                    App_activity_indicator.IsVisible = false;
                    App_activity_indicator.IsRunning = false;
                }
            }
            else
            {
                await DisplayAlert("Warning", "No Internet Connection", "OK");
            }

            var list = JsonConvert.DeserializeObject <List <TimetableModel> >(DB.GetAllTimetables(acad_year, semester));
            List <TimetableModel> display_data = new List <TimetableModel>(list);
            List <TimetableModel> combo_data   = new List <TimetableModel>();

            foreach (TimetableModel item in display_data)
            {
                TimetableModel a = new TimetableModel();
                a.SID         = item.SID;
                a.duration    = string.Format("{0} - {2} {1}", item.course_name, item.duration, item.lecture_day);
                a.lecture_day = item.lecture_day;
                combo_data.Add(a);
            }
            txtclass.ItemsSource = combo_data;
        }