public IHttpActionResult RegistrarPerguntas(Evento ev, Questao[] q) { int?e = db.Eventos.Where(w => w.codEvento == ev.codEvento).Select(w => w.codEvento).FirstOrDefault(); if (e == null && e == 0) { return(Content(HttpStatusCode.BadRequest, new { message = "Não foi enviado evento válido!" })); } if (q == null) { return(Content(HttpStatusCode.BadRequest, new { message = "Não foram enviadas questões!" })); } foreach (Questao questao in q) { QuestaoEvento qe = new QuestaoEvento { codEvento = ev.codEvento, codQuestao = questao.codQuestao, codStatus = "C", tempo = null }; db.QuestaoEventos.Add(qe); } db.SaveChanges(); return(Ok()); }
public IHttpActionResult LancarPergunta(QuestaoEvento requestQuestao) { using (var dbContext = new ApplicationDbContext()) { var questao = dbContext.QuestaoEventos .FirstOrDefault(q => q.codQuestao == requestQuestao.codQuestao && q.codEvento == requestQuestao.codEvento); if (questao == null) { return(Content(HttpStatusCode.NotFound, new { message = "Questão inválida!" })); } if (questao.codStatus != "C") { return(Content(HttpStatusCode.BadRequest, new { message = "Questão já lançada!" })); } const string sql = @"UPDATE QuestaoEvento SET codStatus = 'E' WHERE codEvento = @codEvento AND codQuestao = @codQuestao"; try { dbContext.Database.Connection.ExecuteScalar <int>(sql, new { requestQuestao.codEvento, requestQuestao.codQuestao }); } catch (Exception e) { throw new Exception(e.Message); } return(Ok()); } }