public MyValueEventListener(List <DetailModel> list, RecyclerViewAdapter adapter, string time) { this.list = list; this.adapter = adapter; this.time = time; }
public override void OnViewCreated(View view, Bundle savedInstanceState) { base.OnViewCreated(view, savedInstanceState); //toolbar Android.Support.V7.Widget.Toolbar toolbar = (Android.Support.V7.Widget.Toolbar)((DashboardActivity)Activity).FindViewById(Resource.Id.toolbar); TextView mTitle = (TextView)toolbar.FindViewById(Resource.Id.toolbar_title); if (mTitle != null) { mTitle.Text = "March 2018"; } recyclerView = view.FindViewById <RecyclerView>(Resource.Id.recycler_view); tabLayout = view.FindViewById <TabLayout>(Resource.Id.tab_layout); ImageView imgMinusHours = view.FindViewById <ImageView>(Resource.Id.img_minus_hours); ImageView imgPlusHours = view.FindViewById <ImageView>(Resource.Id.img_plus_hours); TextView txtNoOfHours = view.FindViewById <TextView>(Resource.Id.txt_no_of_hours); txtLocation = view.FindViewById <TextView>(Resource.Id.txt_your_location); progressBar = (ProgressBar)view.FindViewById(Resource.Id.progressBar); imgPlusHours.Click += delegate { String hou = txtNoOfHours.Text; if (hou.Equals("4")) { Toast.MakeText(Activity, "Max 4 Hours", ToastLength.Short).Show(); } else { int nHour = int.Parse(hou); int newHour = nHour + 1; txtNoOfHours.Text = (newHour.ToString()); } }; imgMinusHours.Click += delegate { String hou = txtNoOfHours.Text; if (hou.Equals("1")) { Toast.MakeText(Activity, "Min 1 Hour Required", ToastLength.Short).Show(); } else { int nHour = int.Parse(hou); int newHour = nHour - 1; txtNoOfHours.Text = (newHour.ToString()); } }; setCustomTabs(); arrayList = new List <DetailModel>(); //for (int i = 0; i < 20; i++) //{ // DetailModel detailModel = new DetailModel(); // detailModel.time = ("9:" + i); // detailModel.status = ("status" + i); // detailModel.location = ("9" + i + " m"); // detailModel.money = ("9" + i + " Euro"); // arrayList.Add(detailModel); //} recyclerAdapter = new RecyclerViewAdapter(Activity, arrayList, recyclerView, (FirebaseAppDemo.DashboardActivity)Activity); RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(Activity); recyclerView.SetLayoutManager(mLayoutManager); recyclerView.SetAdapter(recyclerAdapter); tabLayout.AddOnTabSelectedListener(this); getCalanderData(Calendar.Instance.Get(Calendar.Date).ToString()); currentDate = getCurrentDateNow(Calendar.Instance.Get(Calendar.Date).ToString()); setAddress(); setLocationData(); }
public void OnDataChange(DataSnapshot snapshot) { if (snapshot.Exists()) { arrayList.Clear(); string date = currentDate; for (int i = 9; i < 15; i++) { DetailModel model = new DetailModel(); model.time = i.ToString(); model.showtime = "Not Available"; model.location = ""; model.money = ""; model.date = date; arrayList.Add(model); } var obj = snapshot.Children; List <DetailModel> arrayListTemp = new List <DetailModel>(); for (int i = 0; i < arrayList.Count; i++) { arrayListTemp.Add(arrayList[i]); } foreach (DataSnapshot snapshotChild in obj.ToEnumerable()) { if (snapshotChild.GetValue(true) == null) { continue; } DetailModel model = new DetailModel(); model.showtime = "Available"; model.location = snapshotChild.Child("distance")?.GetValue(true)?.ToString(); model.money = snapshotChild.Child("net_price")?.GetValue(true)?.ToString(); model.emp_id = snapshotChild.Child("emp_id")?.GetValue(true)?.ToString(); var data = snapshotChild.Child("avaibility").Value; string output = JsonConvert.SerializeObject(data); var arraycombination = Newtonsoft.Json.JsonConvert.DeserializeObject <List <AvailablityModelClass> >(output); model.availableslotList = arraycombination; for (int i = 0; i < model.availableslotList.Count; i++) { for (int j = 0; j < arrayList.Count(); j++) { if (arrayList[j].time.Equals(model.availableslotList[i].availabletime) && date.Equals(model.availableslotList[i].availabledate) && model.availableslotList[i].status.Equals("true")) { model.time = model.availableslotList[i].availabletime; model.availabledate = model.availableslotList[i].availabledate; model.availabletime = model.availableslotList[i].availabletime; model.status = model.availableslotList[i].status; arrayListTemp[j] = model; break; } } } } arrayList.Clear(); arrayList = arrayListTemp; try { recyclerAdapter = new RecyclerViewAdapter(Activity, arrayList, recyclerView, (FirebaseAppDemo.DashboardActivity)Activity); recyclerView.SetAdapter(recyclerAdapter); } catch (Exception e) { } recyclerAdapter.NotifyDataSetChanged(); } else { arrayList.Clear(); for (int i = 9; i < 15; i++) { DetailModel model = new DetailModel(); model.time = i.ToString(); model.status = "Not Available"; model.location = ""; model.money = ""; arrayList.Add(model); } recyclerAdapter.NotifyDataSetChanged(); } if (progressBar != null) { progressBar.Visibility = ViewStates.Gone; } }