public IHttpActionResult Post([FromBody] RankingRequest rankingRequest) { try { using (var db = new DesputadosContext()) { var u = db.usuarios.FirstOrDefault(x => x.ID == rankingRequest.idUsuario); if (u == null) { return(Ok(new { sucesso = false, mensagem = "O usuário informado não existe" })); } else { var ranking = db.ranking_usuario.FirstOrDefault(x => x.ID_USUARIO == rankingRequest.idUsuario); ranking.PONTUACAO += 1; db.SaveChanges(); return(Ok(new { sucesso = true, mensagem = "" })); } } } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Post([FromBody] Usuario usuario) { try { int?idUsuario = null; using (var db = new DesputadosContext()) { var u = db.usuarios.FirstOrDefault(x => x.EMAIL == usuario.email); if (u != null) { return(Ok(new { idUsuario = idUsuario, sucesso = false, mensagem = "O usuário informado já está cadastrado" })); } else { using (var tran = db.Database.BeginTransaction()) { try { var novoUsuario = db.usuarios.Add(new usuarios() { NOME = usuario.nome, EMAIL = usuario.email }); db.SaveChanges(); db.ranking_usuario.Add(new ranking_usuario() { ID_USUARIO = novoUsuario.ID, PONTUACAO = 0 }); db.SaveChanges(); tran.Commit(); return(Ok(new { idUsuario = novoUsuario.ID, sucesso = true, mensagem = "" })); } catch (Exception ex) { tran.Rollback(); throw ex; } } } } } catch (Exception ex) { return(InternalServerError(ex)); } }