예제 #1
0
            public void OnDataChange(DataSnapshot snapshot)
            {
                DetailModel model = new DetailModel();



                model.time     = time;
                model.status   = "Available";
                model.location = snapshot.Child("distance")?.GetValue(true)?.ToString();
                model.money    = snapshot.Child("net_price")?.GetValue(true)?.ToString();


                for (int i = 0; i < list.Count(); i++)
                {
                    if (list[i].time.Equals(time))
                    {
                        list[i] = model;
                        break;
                    }
                }

                adapter.NotifyDataSetChanged();
            }
예제 #2
0
        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;
            }
        }