示例#1
0
 public MyValueEventListener(List <DetailModel> list, RecyclerViewAdapter adapter, string time)
 {
     this.list    = list;
     this.adapter = adapter;
     this.time    = time;
 }
示例#2
0
        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();
        }
示例#3
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;
            }
        }