public async Task <PedidoRetornoInfo> atualizar(PedidoEnvioInfo pedido) { string url = GlobalUtils.URLAplicacao + "/api/pedido/atualizar"; var args = new List <object>() { pedido }; return(await queryPut <PedidoRetornoInfo>(url, args.ToArray())); }
private static void atualizarPosicao(object sender, GPSLocalInfo local) { Device.BeginInvokeOnMainThread(async() => { try { var regraPedido = PedidoFactory.create(); var pedido = regraPedido.pegarAtual(); if (pedido == null) { return; } var envio = new PedidoEnvioInfo { IdPedido = pedido.Id, Latitude = local.Latitude, Longitude = local.Longitude }; var retorno = await regraPedido.atualizar(envio); if (!string.IsNullOrEmpty(retorno.Polyline)) { if (AcompanhaPageAtual != null) { var rota = new MapaRotaInfo { PosicaoAtual = new LocalInfo { Latitude = retorno.Latitude, Longitude = retorno.Longitude }, PolylineStr = retorno.Polyline, Distancia = retorno.Distancia, DistanciaStr = retorno.DistanciaStr, Tempo = retorno.Tempo, TempoStr = retorno.TempoStr }; rota.Polyline = MapaUtils.decodePolyline(rota.PolylineStr); if (AcompanhaPageAtual != null) { AcompanhaPageAtual.atualizarMapa(rota); } } } else if (!string.IsNullOrEmpty(retorno.Mensagem)) { UserDialogs.Instance.Alert(retorno.Mensagem, "Erro", "Entendi"); } } catch (Exception erro) { UserDialogs.Instance.Alert(erro.Message, "Erro", "Entendi"); } }); }