async void OnDeleteButtonClicked(object sender, EventArgs e)
        {
            AgriFarm agriFarm = (AgriFarm)BindingContext;
            await manager.Delete(agriFarm.id);

            //Farm farm = (Farm)BindingContext;
            //await App.FarmDatabase.DeleteFarmAsync(farm);
            await Navigation.PopModalAsync();

            instance = null;
        }
        public PolygonMarkerPage()
        {
            InitializeComponent();

            BindingContext = new PinItemsSourcePageViewModel();
            GetLocation();
            buttonBuild.IsEnabled = false;

            try
            {
                AgriFarm agriFarm = App.SelectedAgriFarm;
                Title  = "Fazenda " + agriFarm.name.value;
                points = agriFarm.landLocation.value.coordinates;
                if (points.Count > 0)
                {
                    foreach (IList <double> point in points)
                    {
                        positions.Add(new Position(point[0], point[1]));
                    }
                    CreatePolygon();
                    buttonRebuild.IsVisible = true;
                    buttonClear.IsVisible   = false;
                    buttonSave.IsVisible    = false;
                }
            }
            catch (NullReferenceException e)
            {
                Log.Warning("NullReferenceException", e.Message);
            }



            /*
             * // usar variável global App.SelectedFarm aqui
             * Farm farm = App.FarmDatabase.GetFarmAsync(App.SelectedFarm.ID).Result;
             * Title = "Fazenda " + farm.Name;
             * if (!string.IsNullOrEmpty(farm.LandLocationBlobbed))
             * {
             *  foreach (Position position in farm.LandLocation)
             *      positions.Add(position);
             *  CreatePolygon();
             *  buttonRebuild.IsVisible = true;
             *  buttonClear.IsVisible = false;
             *  buttonSave.IsVisible = false;
             * }
             */
        }
        async void OnSaveClicked(object sender, EventArgs e)
        {
            AgriFarm agriFarm = new AgriFarm();

            agriFarm.id = App.SelectedAgriFarm.id;
            Value        value        = new Value("Polygon", points);
            LandLocation landLocation = new LandLocation();

            landLocation.value    = value;
            agriFarm.landLocation = landLocation;
            //App.SelectedAgriFarm.landLocation.value.type = "Polygon";
            //App.SelectedAgriFarm.landLocation.value.coordinates = points;
            //agriFarm.landLocation = App.SelectedAgriFarm.landLocation;

            await manager.Update(agriFarm);

            await Navigation.PopModalAsync();
        }
Exemple #4
0
        public async Task <HttpResponseMessage> Add(AgriFarm agriFarm)
        {
            string json = JsonConvert.SerializeObject(agriFarm,
                                                      Newtonsoft.Json.Formatting.None,
                                                      new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            });

            HttpClient client = await GetClient();

            HttpResponseMessage response = await client.PostAsync(URL,
                                                                  new StringContent(
                                                                      json,
                                                                      Encoding.UTF8, "application/json"));

            //return JsonConvert.DeserializeObject<AgriFarm>(await response.Content.ReadAsStringAsync());
            return(response);
        }
Exemple #5
0
        public async Task Update(AgriFarm agriFarm)
        {
            string url = URL + "/" + agriFarm.id + "/attrs?";

            string json = JsonConvert.SerializeObject(agriFarm,
                                                      Newtonsoft.Json.Formatting.None,
                                                      new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            });

            var raw = json;
            var o   = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(json);

            o.Property("id").Remove();

            HttpClient client = await GetClient();

            await client.PostAsync(url,
                                   new StringContent(
                                       o.ToString(),
                                       Encoding.UTF8, "application/json"));
        }