public MyHealth_BloodPressure_RecyclerViewAdapter (Activity context, MyHealth_BloodPressure_ListDataHolderList data, int totalPage)
		{
			this.context = context;
			mData = data;
			this.totalPage = totalPage;
		}
Exemple #2
0
		private void setupMyHealthData(int page){

			WebServices wbs = new WebServices ();

			string tokenData = Activity.Intent.GetStringExtra ("Token");

			string tokenWBSRaw = wbs.getMyHealthBPRecords(tokenData,page);

			int totalPage = 0;


			Console.WriteLine ("Raw Data: {0}",tokenWBSRaw);

			try {

				var tokenWBSjson = JsonConvert.DeserializeObject<WebServices.MyHealthBloodPressureData> (tokenWBSRaw);

				totalPage = tokenWBSjson.BP_data.total;
				lastPage = tokenWBSjson.BP_data.last_page;

				if (totalPage != 0)
				{
					if(isRefreshing == true){
						listData.Clear ();
					}
					
					foreach(var GetData in tokenWBSjson.BP_data.data)
					{
						Console.WriteLine("[Tab2] Data MDateTime: {0}",GetData.MdateTime);
						myHealthDateList.Add(GetData.Mdatef);
						myHealthTimeList.Add(GetData.Mtimef);
						myHealthPulseList.Add(GetData.HR);
						myHealthBPMList.Add(GetData.HP+" / "+GetData.LP+" "+GetData.BPUnitText);
						myHealthStatusList.Add(setStatus(GetData.color));
						listData.Add(new MyHealth_BloodPressure_ListData() {

							mDateTime = DateTime.ParseExact(GetData.MdateTime.ToString(), "yyyy-MM-dd HH:mm:ss", 
								CultureInfo.InvariantCulture
							).ToString("dd MMM. yyyy, h:mm:ss tt"),
							mPressure = GetData.HP+" / "+GetData.LP+" "+GetData.BPUnitText,
							mPulse = GetData.HR+" BPM",
							mBgColor = "#FF"+GetData.color,
							mStatus = setStatus(GetData.color)

						});
					}

					Activity.RunOnUiThread (() => {
						llMHeT1ErrorLayout.Visibility = ViewStates.Gone;
						progressDialog.Hide();
					});
				}
				else
				{
					Activity.RunOnUiThread (() => {
						llMHeT1ErrorLayout.Visibility = ViewStates.Visible;
						tvMHeT1ErrorStatus.Text = "Anda belum membuat sebarang pemeriksaan tekanan darah di PI1M.";
						progressDialog.Hide();
					});
				}
			
			}
			catch(Exception e) {

				Console.WriteLine ("[Tab_2] Error on inserting data: {0} ",e);

				string eLimit = string.Format ("{0}", e).Substring (0, 20);

				Activity.RunOnUiThread (() => {

					AlertDialog alertDialog;
					AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder (Activity);

					alertDialogBuilder
						.SetTitle ("Masalah")
						//.SetMessage (string.Format ("Maaf. Sila cuba sekali lagi ({0}...).", eLimit))
						.SetMessage (string.Format ("Tiada data ditemui. Anda mungkin belum membuat sebarang pemeriksaan tekanan darah di PI1M. Sila hubungi Pengurus PI1M berdekatan dengan anda untuk pertanyaan."))
						.SetCancelable (true)
						.SetPositiveButton ("OK", delegate {
							
					});

					alertDialog = alertDialogBuilder.Create ();

					alertDialog.Show ();

					llMHeT1ErrorLayout.Visibility = ViewStates.Visible;
					tvMHeT1ErrorStatus.Text = "Anda belum membuat sebarang pemeriksaan tekanan darah di PI1M.";

				});

			}

			if (Activity != null) {

				Activity.RunOnUiThread (() => {
					if (page == 1) {
						listDataHL = new MyHealth_BloodPressure_ListDataHolderList (listData);

						mLayoutManager = new LinearLayoutManager (Activity);
						recyclerView.SetLayoutManager (mLayoutManager);

						recyclerAdapter = new MyHealth_BloodPressure_RecyclerViewAdapter (Activity, listDataHL, totalPage);
						recyclerView.SetAdapter (recyclerAdapter);

						recyclerAdapter.ItemClick += ItemClicked;

						progressDialog.Hide ();

						if (isRefreshing == true) { 
							Toast.MakeText (Activity, "Data terkini telah dimuatkan..", ToastLength.Short).Show ();
						}
					} else {
						recyclerAdapter.NotifyDataSetChanged ();
					}
				});
			}
			//return listData;
		}