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); }
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); }