// GET api/<controller> /// <summary> /// Obter Feed de Propostas /// </summary> /// <returns></returns> public IEnumerable<Models.Proposta> Get(string estado = "", string nome = "") { var candidatos = Transparencia.Candidato.GetAll(estado); if (!string.IsNullOrEmpty(nome)){ candidatos = candidatos.Where(c => c.nome.ToLower().Contains(nome.ToLower())).ToList(); } var lstPropostas = new List<Models.Proposta>(); //Abre Conexao com a base using (Entities db = new Entities()) { //Pega todas as propostas var dbPropostas = db.Propostas.ToList(); foreach (var proposta in dbPropostas) { Models.Proposta nProposta = proposta; var candidato = candidatos.FirstOrDefault(c => c.id == proposta.CandidatoID); if (candidato != null) { var gostados = db.GostadoCounter(nProposta.Id).FirstOrDefault(); if (gostados != null && gostados.Gostado != null) { nProposta.Gostados = gostados.Gostado.Value; nProposta.NaoGostados = gostados.NaoGostado.Value; } nProposta.Candidato = candidato; lstPropostas.Add(nProposta); } } lstPropostas = lstPropostas.Where(x => x.Candidato.Estado.ToUpper() == estado.ToUpper()).ToList(); } return lstPropostas; }