Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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));
            }
        }