public void AtualizaPassagensPedagio(ChaveBuscaViewsModels chave, int id) { PassagensPedagio passagemChaveUm = new PassagensPedagio(); passagemChaveUm.PassagemPedagioId = id; passagemChaveUm.OpRodoviaChave = chave.Rodovia; passagemChaveUm.KmChave = chave.Km; passagemChaveUm.SentidoChave = chave.Sentido; passagemChaveUm.CidadeChave = chave.Cidade; passagemChaveUm.EstadoChave = chave.Estado; _rodoviaRepository.UpdateChavePassagensPedagio(passagemChaveUm); }
public IActionResult GerarStringComparacao() { RodoviaDominio rodoviaDominio = new RodoviaDominio(); List <PassagensPedagio> listaPassagensPedagiosGroupRodovia = new List <PassagensPedagio>(); listaPassagensPedagiosGroupRodovia = _rodoviaRepository.GetRodoviaPassagensPedagio(); foreach (PassagensPedagio itemRodvia in listaPassagensPedagiosGroupRodovia) { List <PassagensPedagio> listaPraca = new List <PassagensPedagio>(); listaPraca = _rodoviaRepository.GetPracasPassagensPedagio(itemRodvia.Rodovia); foreach (PassagensPedagio itemPraca in listaPraca) { //Verifica Chave Um var MontaChaveUm = new ChaveBuscaViewsModels(); MontaChaveUm = rodoviaDominio.MontaChaveUm(itemPraca.Praca); if (MontaChaveUm.Valida) { //Chave é valida AtualizaPassagensPedagio(MontaChaveUm, itemPraca.PassagemPedagioId); } if (!MontaChaveUm.Valida) { var MontaChaveDois = new ChaveBuscaViewsModels(); MontaChaveDois = rodoviaDominio.MontaChaveDois(itemPraca.Praca); if (MontaChaveDois.Valida) { AtualizaPassagensPedagio(MontaChaveDois, itemPraca.PassagemPedagioId); } } } } return(View()); }
//Somente Cidade public ChaveBuscaViewsModels MontaChaveDois(string praca) { ChaveBuscaViewsModels chave = new ChaveBuscaViewsModels(); int validaKm = praca.IndexOf("KM"); string pontoCardealAtual = ""; string montaPraca = ""; string mbCidade = ""; string mbKm = ""; bool _valida = false; //Existe Km na Chave if (validaKm > 0) { //Localiza ponto cardeal string[] pontoCardeal = { "NORTE", "SUL", "LESTE", "OESTE" }; foreach (string ponto in pontoCardeal) { int validaPonto = praca.IndexOf(ponto); if (validaPonto > 0) { pontoCardealAtual = ponto; montaPraca = praca.Replace(pontoCardealAtual, ""); var montaCidkm = montaPraca.Split("KM"); mbCidade = montaCidkm[0]; mbKm = montaCidkm[1]; chave.Sentido = pontoCardealAtual; chave.Cidade = mbCidade; //Trata KM chave.Km = GetTrataKm(mbKm); _valida = true; } } if (!_valida) { if (praca.IndexOf("-") > 0) { var bsCidade = praca.Split("-"); chave.Cidade = bsCidade[0]; chave.Km = GetTrataKm(mbKm); _valida = true; } } } else { if (!_valida) { if (praca.IndexOf(",") == -1) { chave.Cidade = praca; _valida = true; } } } chave.Valida = _valida; return(chave); }
//Rodovia + KM + Sentido + Cidade public ChaveBuscaViewsModels MontaChaveUm(string praca) { ChaveBuscaViewsModels chave = new ChaveBuscaViewsModels(); bool _validaChave = false; if (praca.IndexOf(",") > 0) { var _strPraca = praca.Split(","); int valorArray = _strPraca.Length; if (_strPraca[1].Length > 0) { string _km = _strPraca[1]; string _verificaKM = _km.Replace(" ", "").Substring(0, 2); if (_verificaKM == "KM") { _validaChave = true; } } if (_validaChave) { chave.Rodovia = _strPraca[0]; //monta km string mntKm = _strPraca[1]; var mntKmIncFim = mntKm.Split("+"); chave.Km = mntKmIncFim[0].Replace(" ", ""); string mntCidade = ""; if (valorArray > 3) { chave.Sentido = _strPraca[2]; mntCidade = _strPraca[3]; } else { mntCidade = _strPraca[2]; } if (mntCidade.IndexOf("-") > 0) { var mntCidadeEstado = mntCidade.Split("-"); chave.Cidade = mntCidadeEstado[0]; chave.Estado = mntCidadeEstado[1]; } else { chave.Cidade = mntCidade; } } } chave.Valida = _validaChave; return(chave); }