Ejemplo n.º 1
0
        protected async Task RefreshClaims()
        {
            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=myclaims&empcode={0}&acad={1}&sem={2}",
                                                      Application.Current.Properties["userno"], txt_year.SelectedItem.ToString(), txt_semester.SelectedItem.ToString().Substring(9, 1));
                    _client.Timeout = TimeSpan.Parse("00:00:15");
                    var content = await _client.GetStringAsync(webaddress);

                    //await DisplayAlert("Content ", "Sem " + content, "OK");
                    var n = JsonConvert.DeserializeObject <List <Model.TeachingClaimModel> >(content);
                    List <Model.TeachingClaimModel> TT_data = new List <Model.TeachingClaimModel>(n);
                    if (TT_data.Count > 0)
                    {
                        DB.resetClaims(txt_year.SelectedItem.ToString());
                        DB.AddClaims(txt_year.SelectedItem.ToString(), content);
                    }
                    else
                    {
                        DB.resetClaims(txt_year.SelectedItem.ToString());
                        lv_claims.ItemsSource = null;
                    }

                    App_activity_indicator.IsVisible = false;
                    App_activity_indicator.IsRunning = false;
                }
                catch (Exception ex)
                {
                    //await DisplayAlert("Error!", "" + ex.Message, "OK");
                    DB.resetClaims(txt_year.SelectedItem.ToString());
                    lv_claims.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.TeachingClaimModel> >(DB.GetAllClaims(txt_year.SelectedItem.ToString()));
            List <Model.TeachingClaimModel> display_data = new List <Model.TeachingClaimModel>(list);

            lv_claims.ItemsSource = display_data;
            lv_claims.EndRefresh();
        }