public IHttpActionResult PutPremio(int id, Premio premio) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != premio.Id) { return(BadRequest()); } db.Entry(premio).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PremioExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PutTransferencia(int id, Transferencia transferencia) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != transferencia.Id) { return(BadRequest()); } db.Entry(transferencia).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TransferenciaExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult ResgataPremio(UsuarioPremio usuarioPremio) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } usuarioPremio.DataSolicitacao = DateTime.Now; usuarioPremio.DataEntrega = DateTime.Now.AddDays(10); int idUser = Convert.ToInt32(Thread.CurrentPrincipal.Identity.Name); Premio premio = db.Premios.AsNoTracking().Where(a => a.Id == usuarioPremio.PremioId).FirstOrDefault(); Conta conta = db.Contas.AsNoTracking().Where(a => a.UsuarioId == idUser).FirstOrDefault(); if (conta.Saldo < premio.Preco) { return(BadRequest("Saldo Insuficiente")); } usuarioPremio.UsuarioId = idUser; db.UsuarioPremio.Add(usuarioPremio); db.SaveChanges(); DiminuiSaldo(conta, premio.Preco); DiminuiQuantidade(premio); return(Ok("Prêmio resgatado!")); }
public IHttpActionResult PostUsuario(Usuario usuario) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } usuario.Guid = Guid.NewGuid(); //GUID para lógica da recuperação de senha via email usuario.PermissaoId = 2; //Permissão de Usuário normal usuario.Senha = CriptografiaMD5.GerarHashMd5(usuario.Senha); db.Usuarios.Add(usuario); db.SaveChanges(); CriarConta(usuario.Id); return(CreatedAtRoute("DefaultApi", new { id = usuario.Id }, usuario)); }