private async void aceitar(FreteInfo frete) { var regraMotorista = MotoristaFactory.create(); var motorista = regraMotorista.pegarAtual(); if (motorista == null) { await UserDialogs.Instance.AlertAsync("Você não é um motorista.", "Erro", "Entendi"); return; } var aceitePage = new AceitePage { Frete = frete }; aceitePage.AoAceitar += async(sender, f) => { UserDialogs.Instance.ShowLoading("aceitando..."); try { var regraFrete = FreteFactory.create(); var retorno = await regraFrete.aceitar(new AceiteEnvioInfo { IdFrete = frete.Id, IdMotorista = motorista.Id, Aceite = true }); if (retorno != null) { if (retorno.Aceite) { var novoFrete = await regraFrete.pegar(retorno.IdFrete); UserDialogs.Instance.HideLoading(); AoAtualizarTela?.Invoke(this, novoFrete); } else { UserDialogs.Instance.HideLoading(); await UserDialogs.Instance.AlertAsync(retorno.Mensagem, "Erro", "Entendi"); } } else { UserDialogs.Instance.HideLoading(); } } catch (Exception erro) { UserDialogs.Instance.HideLoading(); await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi"); } }; await Navigation.PushAsync(aceitePage); }
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 async void alterar(FreteInfo frete) { UserDialogs.Instance.ShowLoading("carregando..."); try { var regraFrete = FreteFactory.create(); await regraFrete.alterarSituacao(frete.Id, frete.Situacao); BindingContext = await regraFrete.pegar(frete.Id); UserDialogs.Instance.HideLoading(); //atualizarTela(this.Frete); AoAtualizarTela?.Invoke(this, frete); } catch (Exception erro) { UserDialogs.Instance.HideLoading(); await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi"); } }