private void AdicionarPedido(string key, DistribuidorFirebase pedido) { // Locations.Clear(); try { if (!isVisible) { Point p = new Point(0.48, 0.96); var found = Camiones.FirstOrDefault(x => x.id == pedido.id); if (found != null) { int i = Camiones.IndexOf(found); Camiones[i] = pedido; int y = Locations.IndexOf(Locations.FirstOrDefault(x => x.ID == pedido.id.ToString())); Locations.RemoveAt(y); var Pindistribuidor = new TKCustomMapPin { Image = "camion", Position = new TK.CustomMap.Position((double)pedido.Latitud, (double)pedido.Longitud), Anchor = p, ShowCallout = true, ID = pedido.id.ToString() }; Locations.Add(Pindistribuidor); //PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Locations")); } else { Camiones.Add(new DistribuidorFirebase() { id = pedido.id, Latitud = pedido.Latitud, Longitud = pedido.Longitud, }); var Pindistribuidor = new TKCustomMapPin { Image = "camion", Position = new TK.CustomMap.Position((double)pedido.Latitud, (double)pedido.Longitud), Anchor = p, ShowCallout = true, ID = pedido.id.ToString() }; Locations.Add(Pindistribuidor); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
public async System.Threading.Tasks.Task <IHttpActionResult> PostDistribuidorAsync(Distribuidor distribuidor) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Distribuidor.Add(distribuidor); db.SaveChanges(); #region FireBase var FirebaseUri = "https://elgas-f24e8.firebaseio.com/-LJVkHULelfySFjNF9-Q/Equipo-ElGas/Distribuidores.json"; var USER_AGENT = "firebase-net/1.0"; var rutajson = new DistribuidorFirebase { id = distribuidor.IdDistribuidor, Latitud = 0, Longitud = 0 }; var json = JsonConvert.SerializeObject(rutajson); var client = new HttpClient(); var msg = new HttpRequestMessage(new HttpMethod("Post"), FirebaseUri); msg.Headers.Add("user-agent", USER_AGENT); if (json != null) { msg.Content = new StringContent( json, UnicodeEncoding.UTF8, "application/json"); } var respuesta = await client.SendAsync(msg); var result = await respuesta.Content.ReadAsStringAsync(); var idFirebase = JsonConvert.DeserializeObject <ResultFirbase>(result); Debug.Write(idFirebase.name); db.Entry(distribuidor).State = EntityState.Modified; distribuidor.FirebaseID = idFirebase.name; db.SaveChanges(); #endregion return(Ok()); }