private async void UpdateCarro(Models.Carro novoCarro, Models.Carro carro) { CarroDataService ds = new CarroDataService(); if (!novoCarro.placa.Equals(carro.placa.Trim())) //Se a placa foi alterada { await ds.AddCarroAsync(novoCarro); //Adciona o carro com a placa alterado RelatorioDataService relds = new RelatorioDataService(); List <Models.Relatorio> relatorios = await relds.GetRelatorioAsync(); for (int i = 0; i < relatorios.Count; i++) { if (relatorios[i].carro.Trim().Equals(carro.placa.Trim())) //Para todo relatorio com a placa alterada, muda para a nova placa { Models.Relatorio relatorio = new Models.Relatorio { id = relatorios[i].id, carro = novoCarro.placa, endinicial = relatorios[i].endinicial, endfinal = relatorios[i].endfinal, datainicial = relatorios[i].datainicial, datafinal = relatorios[i].datafinal, kmpercorridos = relatorios[i].kmpercorridos, custo = relatorios[i].custo }; await relds.UpdateRelatorioAsync(relatorio); } } await ds.DeleteCarroAsync(carro); //Deleta o carro com a placa antiga } }
private async void btnCadastrarVeiculoAsync(object sender, EventArgs e) { try { List <Models.Carro> carros = await ds.GetCarroAsync(); //Lista com todos os carros string result; //Mensagem a ser exibida Models.Carro carro = new Models.Carro //Carro a ser adicionado { placa = txtPlaca.Text.Trim().ToUpper(), //Deixa os números da placa em maiúsculo modelo = txtModeloVeiculo.Text.Trim(), dono = user.Trim(), tipocombustivel = txtTipoCombustivel.Text.Trim(), kmatual = float.Parse(txtKmAtual.Text.Trim()), kmlitro = float.Parse(txtKmLitro.Text.Trim()), status = "Parado" //alterado para sincronizar com o banco }; result = controller.AdcionarVeiculo(carro, carros); var msg = System.Text.RegularExpressions.Regex.Split(result, ";"); //Faz a separação da mensagem em 3 strings await DisplayAlert(msg[0], msg[1], msg[2]); if (msg[0].Equals("Sucesso")) //Se passar na verificação { await ds.AddCarroAsync(carro); //Adiciona o carro ao banco await Navigation.PushAsync(new Inicial(user)); Navigation.RemovePage(Navigation.NavigationStack[Navigation.NavigationStack.Count - 2]); } } catch (Exception ex) { await DisplayAlert("Erro:", "Preencha todos os campos", "OK"); } }