예제 #1
0
        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");
         }
     });
 }