private void fillVehiclesCombobox(int iMarca, int iModelo) { Utils.dg("[CHEGADA NO MÉTODO fillVehiclesCombobox()] --> Marca: " + iMarca + " && --> Modelo: " + iModelo); if (iMarca > 0 && iModelo > 0) { cbVeiculo.Enabled = true; if (cbVeiculo.Items.Count > 0) { cbVeiculo.Items.Clear(); } bGravarVei.Enabled = true; bool bAlreadySetted = false; // atualiza URL de requisição para que os dados do veículo (modelo) de carros, motos ou caminhões possam ser pesquisados e preencher os inputs da tela Utils.dg("=> Os modelos do veículo serão buscados dinamicamente com esta URL: [ " + Utils.CONST_API_VEICULOS + this.sCategoriaSelecionada + "/veiculo/" + iMarca + "/" + iModelo + ".json ]"); WebRequest request = WebRequest.Create(Utils.CONST_API_VEICULOS + this.sCategoriaSelecionada + "/veiculo/" + iMarca + "/" + iModelo + ".json"); String respJSON = Utils.makeRequest(request); if (respJSON != null) { this.sURLModeloVeiculoAtual = Utils.CONST_API_VEICULOS + this.sCategoriaSelecionada + "/veiculo/" + iMarca + "/" + iModelo + "/"; try { JArray parsedArray = JArray.Parse(respJSON); foreach (JObject parsedObject in parsedArray.Children <JObject>()) { ComboboxItem cbItem = new ComboboxItem(); bool isFilledKey = false; bool isFilledValue = false; foreach (JProperty parsedProperty in parsedObject.Properties()) { string propertyName = parsedProperty.Name; if (propertyName.Equals("id")) { isFilledKey = true; cbItem.Value = parsedProperty.Value; } if (propertyName.Equals("name")) { isFilledValue = true; cbItem.Text = parsedProperty.Value.ToString(); } if (isFilledKey && isFilledValue) { cbVeiculo.Items.Add(cbItem); break; } } if (!bAlreadySetted) { cbVeiculo.SelectedItem = cbItem; bAlreadySetted = true; } } // faz a última requisição do ciclo (para preencher os campos referentes ao veículo escolhido) this.fillVehicleFields(); } catch (Exception ex) { Utils.dg(ex.StackTrace); } } else { cbVeiculo.Enabled = false; Utils.showSimpleMessageBox("Ops", "Verifique sua conexão com a internet!", "wrong"); } } }