示例#1
0
		private void setupMyHealthData(int page){

			WebServices wbs = new WebServices ();

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

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

			int totalPage = 0;

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

			try {

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

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

				Console.WriteLine("[Tab 2] Total BloodPressure: {0}",totalPage);

				if(totalPage != 0)
				{
					if(isRefreshing == true){
						listData.Clear ();
					}
					
					Activity.RunOnUiThread (() => {
						llMHeT2ErrorLayout.Visibility = ViewStates.Gone;
					});

					foreach(var GetData in tokenWBSjson.W_data.data)
					{
						Console.WriteLine("[Tab2] Data MDateTime: {0}",GetData.MdateTime);
						listData.Add(new MyHealth_BodyWeight_ListData() {

							mDateTime = DateTime.ParseExact(GetData.MdateTime.ToString(), "yyyy-MM-dd HH:mm:ss", 
								CultureInfo.InvariantCulture).ToString("dd MMM. yyyy, h:mm:ss tt"),
							mWeight = float.Parse (GetData.WeightValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.###### kg"),
							mNettWeight = GetData.LeanWeight,
							mBMI = float.Parse (GetData.BMI, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######"),
							mBoneMass = float.Parse (GetData.BoneValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######"),
							mFat = float.Parse (GetData.FatValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######")+" %"

						});
						myHealthBWDateList.Add(DateTime.ParseExact(GetData.Mdatef.ToString(), "yyyy-MM-dd", 
							CultureInfo.InvariantCulture).ToString("dd MMM. yyyy"));
						myHealthBWTimeList.Add(DateTime.ParseExact(GetData.Mtimef.ToString(), "HH:mm:ss", 
							CultureInfo.InvariantCulture).ToString("h:mm:ss tt"));
						myHealthBWWeightList.Add(float.Parse (GetData.WeightValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.###### kg"));
						myHealthBWBMIList.Add(float.Parse (GetData.BMI, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######"));
						myHealthBWFatList.Add(float.Parse (GetData.FatValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######")+" %");
						myHealthBWLeanWeightList.Add(float.Parse (GetData.LeanWeight, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######"));
						myHealthBWBoneMassList.Add(float.Parse (GetData.BoneValue, CultureInfo.InvariantCulture.NumberFormat).ToString("0.######"));
						myHealthBWStatusList.Add(getBMIStatus(GetData.BMI));
					}
				}
				else
				{
					Activity.RunOnUiThread (() => {
						llMHeT2ErrorLayout.Visibility = ViewStates.Visible;
						tvMHeT2ErrorStatus.Text = "Anda belum melakukan sebarang pemeriksaan berat badan di PI1M.";
					});
				}
			}
			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 berat badan di PI1M. Sila hubungi Pengurus PI1M berdekatan dengan anda untuk pertanyaan."))
						.SetCancelable (true)
						.SetPositiveButton ("OK", delegate {
							
					});

					alertDialog = alertDialogBuilder.Create ();

					alertDialog.Show ();

					llMHeT2ErrorLayout.Visibility = ViewStates.Visible;
					tvMHeT2ErrorStatus.Text = "Anda belum melakukan sebarang pemeriksaan berat badan di PI1M.";

				});

			}

			if (Activity != null) {

				Activity.RunOnUiThread (() => {
					
					if (page == 1) {
						
						listDataBW = new MyHealth_BodyWeight_ListDataHolderList (listData);

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

						recyclerAdapterBW = new MyHealth_BodyWeight_RecyclerViewAdapter (Activity, listDataBW, totalPage);
						recyclerView.SetAdapter (recyclerAdapterBW);

						recyclerAdapterBW.ItemClick += ItemClicked;

					} else {
						
						recyclerAdapterBW.NotifyDataSetChanged ();

					}

				});

			}
			//return listData;
		}
		public MyHealth_BodyWeight_RecyclerViewAdapter (Activity context, MyHealth_BodyWeight_ListDataHolderList data, int totalPage)
		{
			this.context = context;
			mData = data;
			this.totalPage = totalPage;
		}