Example #1
0
        public async void GetData()
        {
            if (CrossConnectivity.Current.IsConnected)
            {
                FireSharpClient FsClient = FireSharpClient.Instance;
                var             hud      = DependencyService.Get <IHUDProvider>();
                hud.DisplayProgress("Getting Data");
                var storesDict = await FsClient.GetAll <Store>("stores");

                if (storesDict == null || storesDict.Count == 0)
                {
                    var msg = "No Results :(";
                    msg.ToToast(ToastNotificationType.Error);
                }
                else
                {
                    storesList         = new ObservableDictionary <string, Store>(storesDict);
                    filteredStoresList = storesList;
                }
                hud.Dismiss();
            }
            else
            {
                var hud = DependencyService.Get <IHUDProvider>();
                hud.DisplayError("Please Connect to Internet.");
            }
        }
        public async void GetData()
        {
            if (CrossConnectivity.Current.IsConnected)
            {
                FireSharpClient FsClient = FireSharpClient.Instance;
                var             hud      = DependencyService.Get <IHUDProvider>();
                hud.DisplayProgress("Getting Reviews");
                var reviewsDict = await FsClient.GetAll <Review>("stores/" + KeyValue.Key + "/Reviews");

                if (reviewsDict == null || reviewsDict.Count == 0)
                {
                    var msg = "No Reviews :(";
                    msg.ToToast(ToastNotificationType.Error);
                }
                else
                {
                    reviewsList = new ObservableDictionary <string, Review>(reviewsDict);
                }
                hud.Dismiss();
            }
            else
            {
                var hud = DependencyService.Get <IHUDProvider>();
                hud.DisplayError("Please Connect to Internet.");
            }
        }
Example #3
0
        private async void SaveBtn(object sender, EventArgs e)
        {
            ToolbarItem i = sender as ToolbarItem;

            i.Clicked -= SaveBtn;
            var hud = DependencyService.Get <IHUDProvider>();

            hud.DisplayProgress("Saving Data");
            await Task.Delay(500);

            if (!string.IsNullOrWhiteSpace(nameEntry.Text) && categoryPicker.SelectedIndex >= 0 && !string.IsNullOrWhiteSpace(addressEntry.Text) && !string.IsNullOrWhiteSpace(landmarkEntry.Text) && ViewModel.Items.Count > 0)
            {
                if (CrossConnectivity.Current.IsConnected)
                {
                    FireSharpClient FsClient = FireSharpClient.Instance;
                    if (IsLocation == false)
                    {
                        GoogleMapsService googleMapsService = GoogleMapsService.Instance;
                        var l = await googleMapsService.GetLocationFromAddress(addressEntry.Text);

                        if (l != null)
                        {
                            CurrentLatitude  = l.lat;
                            CurrentLongitude = l.lng;
                        }
                        else
                        {
                            var addressInvalid = "Address is not available on Google Maps";
                            addressInvalid.ToToast(ToastNotificationType.Error);
                        }
                    }
                    Store s = new Store
                    {
                        Name       = nameEntry.Text,
                        Category   = AppConstants.CATEGORIES[categoryPicker.SelectedIndex],
                        Address    = addressEntry.Text,
                        IsLocation = this.IsLocation,
                        Latitude   = this.CurrentLatitude,
                        Longitude  = this.CurrentLongitude,
                        Landmark   = landmarkEntry.Text
                    };
                    List <string> tempList = new List <string>();
                    foreach (var item in ViewModel.Items)
                    {
                        tempList.Add(item.Name);
                    }
                    s.Tags = tempList.ToArray();
                    var pushKey = await FsClient.Push("stores", s);

                    hud.Dismiss();
                    await Navigation.PopAsync();

                    var msg = "Your data has been saved.";
                    msg.ToToast(ToastNotificationType.Error);
                }
                else
                {
                    hud.Dismiss();
                    var msg = "Make sure you're connected to Internet.";
                    msg.ToToast(ToastNotificationType.Error);
                }
            }
            else
            {
                hud.Dismiss();
                var msg = "Please Fill All the Fields";
                msg.ToToast(ToastNotificationType.Error);
            }
            hud.Dismiss();
            i.Clicked += SaveBtn;
        }
Example #4
0
        private async void OnAddReviewBtnClicked(object sender, EventArgs e)
        {
            var s = BindingContext as string;
            int rating;

            if (starFive.IsStarred)
            {
                rating = 5;
            }
            else if (starFour.IsStarred)
            {
                rating = 4;
            }
            else if (starThree.IsStarred)
            {
                rating = 3;
            }
            else if (starTwo.IsStarred)
            {
                rating = 2;
            }
            else
            {
                rating = 1;
            }
            var r = new Review
            {
                Rating      = rating,
                Description = feedbackEntry.Text,
                Date        = DateTime.Now.ToString("MMM dd")
            };

            if (CrossConnectivity.Current.IsConnected)
            {
                FireSharpClient FsClient = FireSharpClient.Instance;

                var hud = DependencyService.Get <IHUDProvider>();
                hud.DisplayProgress("Sending Data");
                var pushKey = await FsClient.Push("stores/" + s + "/Reviews", r);

                if (pushKey == null)
                {
                    var msg = "Server Error :(";
                    msg.ToToast(ToastNotificationType.Error);
                }
                else
                {
                    var msg = "Review Received! Thank You";
                    msg.ToToast(ToastNotificationType.Success);
                    var x = this.Parent;
                    var y = this.ParentView;
                    var z = this.ParentView.BindingContext;
                    //(BindingContext as StoreDetailViewModel).RefreshData.Execute(this);
                }
                hud.Dismiss();
            }
            else
            {
                var hud = DependencyService.Get <IHUDProvider>();
                hud.DisplayError("Please Connect to Internet.");
            }
        }