Ejemplo n.º 1
0
        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");
                }
            }
        }