private async void GetCombustivel() { List <Models.Combustivel> combustiveis = await ds.GetCombustivelAsync(); combustivel = controller.GetCombustivelByCadastro(combustiveis, user); InitializeComponent(); txtEtanol.Text = "R$" + combustivel.etanol.ToString("F"); txtDiesel.Text = "R$" + combustivel.diesel.ToString("F"); txtGasolina.Text = "R$" + combustivel.gasolina.ToString("F"); txtOutro.Text = "R$" + combustivel.outro.ToString("F"); }
private async void btnIniciarFinalizar(object sender, EventArgs e) { if (!iniciado) { try { var locator = CrossGeolocator.Current; //Variavel que vai atribuir Localização atual locator.DesiredAccuracy = 50; //Precisão 50mt var position = await locator.GetPositionAsync(timeout : new TimeSpan(0, 0, 10)); //Pega posição do celular iniciado = true; btnIniciarFinalizarPercurso.Text = "Finalizar Percurso"; btnIniciarFinalizarPercurso.BackgroundColor = Color.Red; carro.status = "Em movimento"; await dsCarro.UpdateCarroAsync(carro); //atualizando o status do carro txtStatus.Text = "Status:" + carro.status; txtStatus.TextColor = Color.Red; tempoInicio = DateTime.UtcNow; latitudeInicial = position.Latitude; longitudeInicial = position.Longitude; CalculaDistancia(); await CrossExternalMaps.Current.NavigateTo("", latitudeFinal, longitudeFinal); //acessa o mapa padrão } catch (Exception ex) { await DisplayAlert("Erro", "Ative sua Localização para continuar.", "OK"); } } else { try { relatorio = new Models.Relatorio { carro = carro.placa.Trim(), endinicial = txtEndinic.Text.Trim(), endfinal = txtEndfinal.Text.Trim(), datainicial = tempoInicio.AddHours(-3), datafinal = DateTime.UtcNow.AddHours(-3) }; } catch (Exception ex) { await DisplayAlert("Erro:", "Preencha todos os campos.", "OK"); } try { finalizado = true; var locator = CrossGeolocator.Current; //Variavel que vai atribuir Localização atual locator.DesiredAccuracy = 50; //Precisão 50mt var position = await locator.GetPositionAsync(timeout : new TimeSpan(0, 0, 10)); //Pega posição do celular latitudeFinal = position.Latitude; longitudeFinal = position.Longitude; Location locationInic = new Location(latitudeInicial, longitudeInicial); Location locationFinal = new Location(latitudeFinal, longitudeFinal); var distanciaPercorrida = distancia + Location.CalculateDistance(locationInic, locationFinal, DistanceUnits.Kilometers); carro.status = "Parado"; carro.kmatual += float.Parse((distanciaPercorrida).ToString("N3")); //3 casas decimais - Soma e iguala ao kmatual await dsCarro.UpdateCarroAsync(carro); //atualiza os valores do carro no banco relatorio.kmpercorridos = float.Parse(distanciaPercorrida.ToString("N3")); //insere no relatório o valores List <Models.Combustivel> combustiveis = await dsCombustivel.GetCombustivelAsync(); Models.Combustivel combustivel = combController.GetCombustivelByCadastro(combustiveis, user); relController.AddRelatorio(relatorio, combustivel, carro, combustivelUtilizado); //instância para calcular o custo await Navigation.PushAsync(new FinalizaPercurso(user, carro, relatorio)); Navigation.RemovePage(Navigation.NavigationStack[Navigation.NavigationStack.Count - 2]); } catch (Exception ex) { await DisplayAlert("Erro:", "Ative sua Localização para continuar.", "OK"); } } }