public IHttpActionResult Post(ConsultaNivelTemas dados) { //var rnd = new Random(DateTime.Now.Millisecond); var perguntas = new List <ViewPergunta>(); var retorno = new ListViewPerguntaResposta(); ValidaDadosConsulta(dados); using (ctx = new JogoMasterEntities()) { dados.idsTema.ForEach(tema => { var perguntasBanco = ctx.Perguntas .Where(x => x.IdNivel == dados.idNivel && x.IdTema == tema) .Select(x => new ViewPergunta() { Id = x.Id, Pergunta = x.Pergunta1, IdNivel = x.IdNivel, IdTema = x.IdTema, Patrocinada = x.Patrocinada }).ToList(); perguntas = perguntasBanco.OrderBy(x => Guid.NewGuid()).Take(4).ToList(); perguntas.ForEach(pergunta => { var res = ctx.Respostas .Where(x => x.IdPergunta == pergunta.Id) .Select(x => new ViewResposta() { Id = x.Id, Correta = x.Correta, Resposta = x.Resposta1, IdPergunta = x.IdPergunta }) .ToList(); var perRes = new ViewPerguntaResposta { pergunta = pergunta, respostas = res }; retorno.lista.Add(perRes); }); }); } return(Ok(retorno.lista)); }
public IHttpActionResult Post(ListViewPerguntaResposta dados) { var erros = new List <string>(); if (dados == null || !dados.lista.Any()) { return(BadRequest("Dados inválidos.")); } dados.lista.ForEach(item => { ValidaPergunta(item.pergunta, erros); ValidaResposta(item.respostas, erros); var pergunta_add = new Pergunta { Pergunta1 = item.pergunta.Pergunta, Patrocinada = item.pergunta.Patrocinada, IdTema = item.pergunta.IdTema, IdNivel = item.pergunta.IdNivel }; using (ctx = new JogoMasterEntities()) { ctx.Perguntas.Add(pergunta_add); ctx.SaveChanges(); item.respostas.ForEach(res => res.IdPergunta = pergunta_add.Id); item.respostas.ForEach(res => { ctx.Respostas.Add(new Resposta() { Correta = res.Correta, IdPergunta = pergunta_add.Id, Resposta1 = res.Resposta, }); }); ctx.SaveChanges(); } }); return(Ok("Perguntas cadastradas com sucesso!")); }