public AcompanhaFreteMotoristaPage(MotoristaRetornoInfo info)
 {
     _IdFrete  = (int)info.IdFrete;
     _Situacao = (FreteSituacaoEnum)info.CodSituacao;
     inicializarComponente();
     Title   = "Acompanhar entrega";
     Content = new StackLayout()
     {
         VerticalOptions   = LayoutOptions.Fill,
         HorizontalOptions = LayoutOptions.Fill,
         Children          =
         {
             _CustomMap,
             _Distancia,
             _Tempo,
             _ContatoButton,
             _PickerRota,
             _AbrirRota,
             _AcaoButton
         }
     };
     if (_Situacao == FreteSituacaoEnum.Entregue)
     {
         ((StackLayout)Content).Children.Remove(_AcaoButton);
     }
     this._PosicaoAlterada += async(sender, e) =>
     {
         var retPedido = await new MotoristaBLL().listarPedidosAsync();
         apresentaInfo(retPedido, new Position(e.Position.Latitude, e.Position.Longitude));
     };
 }
示例#2
0
        private async System.Threading.Tasks.Task confirmaPegaEntregaAsync()
        {
            UserDialogs.Instance.ShowLoading("Aguarde...");
            try
            {
                var infoEntrega = await FreteFactory.create().pegar(_IdFrete);

                infoEntrega.Situacao = FreteSituacaoEnum.EntregaConfirmada;
                try
                {
                    await FreteFactory.create().alterar(infoEntrega);

                    _Situacao = infoEntrega.Situacao;
                    UserDialogs.Instance.HideLoading();
                    if (_Situacao == FreteSituacaoEnum.EntregaConfirmada)
                    {
                        _AcaoButton.Text      = "Entreguei a encomenda";
                        _AcaoButton.IsEnabled = false;
                        await UserDialogs.Instance.AlertAsync("Entrega confirmada");

                        Navigation.PopToRootAsync();
                    }
                }
                catch (Exception e)
                {
                    UserDialogs.Instance.HideLoading();
                    UserDialogs.Instance.Alert("Ocorreu um erro ao tentar alterar a situação da entrega", "Falha");
                }
            }
            catch (Exception e)
            {
                UserDialogs.Instance.HideLoading();
            }
        }
示例#3
0
 public AcompanhaFretePage(FreteRetornoInfo info)
 {
     _IdFrete  = (int)info.IdFrete;
     _Situacao = (FreteSituacaoEnum)info.Situacao;
     inicializarComponente();
     iniciaAsync(info).Wait();
     Title   = "Acompanhar entrega";
     Content = new StackLayout()
     {
         VerticalOptions   = LayoutOptions.Fill,
         HorizontalOptions = LayoutOptions.Fill,
         Children          =
         {
             _CustomMap,
             _Distancia,
             _Tempo,
             _AcaoButton
         }
     };
 }
示例#4
0
        private string getMensagemBotao(FreteSituacaoEnum sit)
        {
            switch (sit)
            {
            case FreteSituacaoEnum.Cancelado:
                return("Entrega cancelada");

            case FreteSituacaoEnum.EntregaConfirmada:
                return("Entrega confirmada");

            case FreteSituacaoEnum.Entregando:
                return("Motorista a caminho");

            case FreteSituacaoEnum.Entregue:
                return("Confirmar entrega");

            case FreteSituacaoEnum.PegandoEncomenda:
                return("Motorista a caminho da entrega");

            case FreteSituacaoEnum.ProcurandoMotorista:
                return("Aguardando motorista");
            }
            return("Status desconhecido.");
        }
示例#5
0
        public Task alterarSituacao(int idFrete, FreteSituacaoEnum situacao)
        {
            string url = GlobalUtils.URLAplicacao + "/api/frete/situacao/" + idFrete.ToString() + "/" + (int)situacao;

            return(queryGet(url));
        }