// GET <controller>/5 /// <summary> /// Todas as Propostas do Partido /// </summary> /// <param name="partido">Sigla do Partido</param> /// <returns>Todas as Propostas dos Candidatos do Partido</returns> public IEnumerable<Models.Proposta> GetByPartido(string estado, string partido) { var candidatos = Transparencia.Candidato.GetAll(estado).Where(a => a.partido.ToLower() == partido.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) { nProposta.Candidato = candidato; lstPropostas.Add(nProposta); } } lstPropostas = lstPropostas.Where(x => x.Candidato.Estado.ToUpper() == estado.ToUpper()).ToList(); } return lstPropostas; }
public Models.Proposta Post([FromBody]PropostaPost value) { var proposta = new DAL.Proposta(){ CandidatoID = value.CandidatoID, Texto = value.Texto }; using (Entities db = new Entities()) { db.Propostas.Add(proposta); db.SaveChanges(); } return (Models.Proposta)proposta; }
// 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; }
// PUT <controller>/5 /// <summary> /// Like do Eleitor na Proposta /// </summary> /// <param name="id">Id da Proposta</param> /// <param name="fbid">Facebook Id do Eleitor</param> public Models.Proposta Put([FromBody]GosteiPost value)//TODO: Lucão { var proposta = new Models.Proposta(); using (Entities db = new Entities()) { var gostados = db.SP_Gostar(value.FBID, Convert.ToInt32(value.PropostaID), value.Gostato).First(); proposta.Gostados = gostados.Gostado.Value; proposta.NaoGostados = gostados.NaoGostados.Value; proposta.Id = Convert.ToInt32(value.PropostaID); } return proposta; }