private void _avaliarClicked(object sender, EventArgs e)
        {
            var regraUsuario = UsuarioFactory.create();
            var usuario      = regraUsuario.pegarAtual();

            var descricao = "";
            var frete     = this.Frete;

            if (frete.IdUsuario == usuario.Id)
            {
                descricao = "Como você avalia o motorista?";
            }
            else if (frete.IdMotorista == usuario.Id)
            {
                descricao = "Como você avalia o cliente?";
            }
            var avaliePage = new AvaliePage
            {
                Descricao = descricao
            };

            avaliePage.AoAvaliar += async(s1, nota) =>
            {
                UserDialogs.Instance.ShowLoading("carregando...");
                try
                {
                    var regraFrete = FreteFactory.create();
                    frete = await regraFrete.pegar(this.Frete.Id);

                    if (frete.IdUsuario == usuario.Id)
                    {
                        frete.NotaMotorista = nota;
                    }
                    else if (frete.IdMotorista == usuario.Id)
                    {
                        frete.NotaFrete = nota;
                    }
                    await regraFrete.alterar(frete);

                    UserDialogs.Instance.HideLoading();
                    await Navigation.PopAsync();

                    AoAtualizarTela?.Invoke(this, frete);
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi");
                }
            };
            Navigation.PushAsync(avaliePage);
        }
Example #2
0
        private void avaliarClicked(object sender, EventArgs e)
        {
            var avaliePage = new AvaliePage
            {
                Descricao = "Que nota você daria para o seu pedido?"
            };

            avaliePage.AoAvaliar += async(s2, avaliacao) => {
                UserDialogs.Instance.ShowLoading("Carregando...");
                try
                {
                    var regraPedido = PedidoFactory.create();
                    var pedido      = await regraPedido.pegar(Pedido.Id);

                    pedido.Nota       = avaliacao.Nota;
                    pedido.Comentario = avaliacao.Comentario;
                    if (pedido.Situacao == SituacaoEnum.Entregue)
                    {
                        pedido.Situacao = SituacaoEnum.Finalizado;
                    }
                    await regraPedido.alterar(pedido);

                    pedido = await regraPedido.pegar(Pedido.Id);

                    Pedido = pedido;
                    atualizarTela(Pedido);
                    UserDialogs.Instance.HideLoading();
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    //UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                    await DisplayAlert("Erro", erro.Message, "Entendi");
                }
            };
            Navigation.PushAsync(avaliePage);
        }