Пример #1
0
        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!"));
        }
Пример #4
0
        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));
        }