public List<Veiculo> GetVeiculosHome()
        {
            try
            {
                // Lista de veícculos para retornar
                List<Veiculo> veiculos = new List<Veiculo>();
                Veiculo veiculo;

                // Endereço do arquivo XML
                //string fileAddress = "http://www.clienteparasempre.com.br/autoprimeford//XML/1639.xml";
                string fileAddress = "http://www.cps21.com.br/estoque_autoweb/1639.xml";

                // Leitura dos veículos do XML apenas usados
                XDocument docXML = XDocument.Load(fileAddress);
                List<XElement> el =
                   docXML.Element("CargaVeiculos")
                       .Descendants("Veiculos")
                       .Descendants("Veiculo")
                       .Where(vcl => EPlacaValida(vcl.Element("Placa").Value) == true &&
                            vcl.Element("Fotos") != null)
                        .OrderBy(a => Guid.NewGuid())
                        .Take(4)
                       .ToList();

                // Compondo a lista de veículos a partir do XML
                foreach (XElement element in el)
                {
                    // Instanciando um novo objeto para o veículo
                    veiculo = new Veiculo();
                    veiculo.Fotos = new List<string>();

                    // Compondo dados do veículo
                    veiculo.Id = element.Element("CodigoVeiculo").Value;
                    veiculo.Placa = element.Element("Placa").Value;
                    if (element.Element("Preco").Value == "")
                    {
                        veiculo.Valor = 0;
                    }
                    else
                    {
                        veiculo.Valor = decimal.Parse(element.Element("Preco").Value.Replace('.', ','));
                    }
                    veiculo.Marca = element.Element("Marca").Value;
                    veiculo.Modelo = element.Element("Modelo").Value;
                    veiculo.Cor = element.Element("Cor").Value;
                    veiculo.Versao = element.Element("Versao").Value;
                    veiculo.AnoFabricacao = element.Element("AnoFabricacao").Value;
                    veiculo.AnoModelo = element.Element("AnoModelo").Value;

                    // Recuperando a url das fotos do carro
                    bool found = false;
                    foreach (XElement foto in element.Descendants("Fotos").Descendants("Foto"))
                    {
                        // Adicionando
                        veiculo.Fotos.Add(foto.Element("URLArquivo").Value);
                        found = true;
                    }
                    if (!found)
                    {
                        veiculo.Fotos.Add("http://www.clienteparasempre.com.br/SiteSimplesAdmin/FotosEstoque/null.jpg");

                    }

                    // Adicionando dados à lista de veículos
                    veiculos.Add(veiculo);

                }

                // Retornando a lista de veículos
                return veiculos;

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public Veiculo Get(string id)
        {
            try
            {
                // Lista de veícculos para retornar
                Veiculo veiculo = new Veiculo();
                string opcionais;

                // Endereço do arquivo XML
                //string fileAddress = "http://www.clienteparasempre.com.br/autoprimeford//XML/1639.xml";
                string fileAddress = "http://www.cps21.com.br/estoque_autoweb/1639.xml";

                // Leitura dos veículos do XML apenas usados
                XDocument docXML = XDocument.Load(fileAddress);
                XElement element =
                   docXML.Element("CargaVeiculos")
                       .Descendants("Veiculos")
                       .Descendants("Veiculo")
                       .Where(vcl => vcl.Element("Placa").Value == id)
                       .FirstOrDefault();

                // Compondo a lista de veículos a partir do XML
                if (element != null)
                {
                    // Instanciando um novo objeto para o veículo
                    veiculo = new Veiculo();
                    veiculo.Fotos = new List<string>();

                    // Compondo dados do veículo
                    veiculo.Id = element.Element("CodigoVeiculo").Value;
                    veiculo.Placa = element.Element("Placa").Value;
                    if (element.Element("Preco").Value == "")
                    {
                        veiculo.Valor = 0;
                    }
                    else
                    {
                        veiculo.Valor = decimal.Parse(element.Element("Preco").Value.Replace('.', ','));
                    }
                    veiculo.Marca = element.Element("Marca").Value;
                    veiculo.Modelo = element.Element("Modelo").Value;
                    veiculo.Cor = element.Element("Cor").Value;
                    veiculo.Versao = element.Element("Versao").Value;
                    veiculo.AnoFabricacao = element.Element("AnoFabricacao").Value;
                    veiculo.AnoModelo = element.Element("AnoModelo").Value;
                    veiculo.Combustivel = element.Element("Combustivel").Value;
                    veiculo.Transmissao = element.Element("Transmissao").Value;

                    // limpando variavel
                    opcionais = null;

                    //concatenando os opcionais
                    //foreach (XElement opcional in element.Descendants("opcionais").Descendants())
                    //{
                    //    // Adicionando
                    //    opcionais += opcional.Value + ", ";
                    //}
                    //veiculo.Opcionais = opcionais;

                    bool found = false;
                    foreach (XElement foto in element.Descendants("Fotos").Descendants("Foto"))
                    {
                        // Adicionando
                        veiculo.Fotos.Add(foto.Element("URLArquivo").Value);
                        found = true;
                    }
                    if (!found)
                    {
                        veiculo.Fotos.Add("http://www.clienteparasempre.com.br/SiteSimplesAdmin/FotosEstoque/null.jpg");

                    }
                }

                // Retornando a lista de veículos
                return veiculo;

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Retorna a lista de veículos do estoque a partir do XML
        /// </summary>
        /// <returns></returns>
        public List<Veiculo> GetVeiculos(string marca, decimal valorMinimo, decimal valorMaximo)
        {
            try
            {
                // Lista de veícculos para retornar
                List<Veiculo> veiculos = new List<Veiculo>();
                Veiculo veiculo;
                string opcionais;

                // Endereço do arquivo XML
                //string fileAddress = "http://www.clienteparasempre.com.br/autoprimeford//XML/1639.xml";
                string fileAddress = "http://www.cps21.com.br/estoque_autoweb/1639.xml";

                // Leitura dos veículos do XML apenas usados
                XDocument docXML = XDocument.Load(fileAddress);

                List<XElement> el = new List<XElement>();
                //Busca de veículos(TODOS SEM RESTRIÇÃO)
                if (marca == "" && valorMinimo == 0 && valorMaximo > 0)
                {
                    el =
                    docXML.Element("CargaVeiculos")
                        .Descendants("Veiculos")
                        .Descendants("Veiculo")
                        .Where(vcl =>
                            EPlacaValida(vcl.Element("Placa").Value) == true)
                        .OrderBy(vcl => vcl.Element("Preco").Value.Replace('.', ','))
                        .ToList();
                }
                //Busca de veículos(COM RESTRIÇÕES - MARCA, Valor Minimo, Valor Maximo)
                if (marca != "" && valorMinimo == 0 && valorMaximo > 0)
                {
                    el =
                    docXML.Element("CargaVeiculos")
                        .Descendants("Veiculos")
                        .Descendants("Veiculo")
                        .Where(vcl =>
                            EPlacaValida(vcl.Element("Placa").Value) == true &&
                            vcl.Element("Marca").Value == marca &&
                            decimal.Parse(vcl.Element("Preco").Value.Replace('.', ',')) >= valorMinimo &&
                            decimal.Parse(vcl.Element("Preco").Value.Replace('.', ',')) <= valorMaximo)
                        .OrderBy(vcl => vcl.Element("Preco").Value.Replace('.', ','))
                        .ToList();
                }
                // Compondo a lista de veículos a partir do XML
                foreach (XElement element in el)
                {
                    // Instanciando um novo objeto para o veículo
                    veiculo = new Veiculo();
                    veiculo.Fotos = new List<string>();

                    // Compondo dados do veículo
                    veiculo.Id = element.Element("CodigoVeiculo").Value;
                    veiculo.Placa = element.Element("Placa").Value;
                    veiculo.Valor = decimal.Parse(element.Element("Preco").Value.Replace('.', ','));
                    veiculo.Marca = element.Element("Marca").Value;
                    veiculo.Modelo = element.Element("Modelo").Value;
                    veiculo.Cor = element.Element("Cor").Value;
                    veiculo.Versao = element.Element("Versao").Value;
                    veiculo.AnoFabricacao = element.Element("AnoFabricacao").Value;
                    veiculo.AnoModelo = element.Element("AnoModelo").Value;
                    //veiculo.Opcionais = element.Element("opcionais").Value;

                    // limpando variavel
                    opcionais = null;

                    ////concatenando os opcionais
                    //foreach (XElement opcional in element.Descendants("opcionais").Descendants())
                    //{
                    //    // Adicionando
                    //    opcionais += opcional.Value + ", ";
                    //}
                    //veiculo.Opcionais = opcionais;

                    // Recuperando a url das fotos do carro
                    bool found = false;
                    foreach (XElement foto in element.Descendants("Fotos").Descendants("Foto"))
                    {
                        // Adicionando
                        veiculo.Fotos.Add(foto.Element("URLArquivo").Value);
                        found = true;
                    }
                    if (!found)
                    {
                        veiculo.Fotos.Add("http://www.clienteparasempre.com.br/SiteSimplesAdmin/FotosEstoque/null.jpg");

                    }

                    // Adicionando dados à lista de veículos
                    veiculos.Add(veiculo);

                }

                // Retornando a lista de veículos
                return veiculos;

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }