Пример #1
0
        public async Task <ActionResult> Put(int id, ReservaProduto ReservaProduto)
        {
            //Se o Id do objeto não existir
            //ele retorna 400
            if (id != ReservaProduto.IdReserva)
            {
                return(BadRequest(
                           new {
                    Mensagem = "Id incompatível, Não foi possível fazer a atualização"
                }
                           ));
            }
            try {
                await _repositorio.Alterar(ReservaProduto);
            } catch (DbUpdateConcurrencyException) {
                //Verificamos se o objeto inserido realmente existe no banco
                var ReservaProduto_valido = await _repositorio.BuscarPorID(id);

                if (ReservaProduto_valido == null)
                {
                    return(NotFound(
                               new {
                        Mensagem = "Não foi possível obter as informações"
                    }
                               ));
                }
                else
                {
                    throw;
                }
            }

            //NoContent = Retorna 204, sem nada
            return(NoContent());
        }
        public async Task <ReservaProduto> Excluir(ReservaProduto ReservaProduto)
        {
            using (XepaDigitalContext _contexto = new XepaDigitalContext()){
                //Selecionando o objeto a ser removido
                _contexto.ReservaProduto.Remove(ReservaProduto);
                //De fato deleta o arquivo
                await _contexto.SaveChangesAsync();

                return(ReservaProduto);
            }
        }
        public async Task <ReservaProduto> Alterar(ReservaProduto ReservaProduto)
        {
            using (XepaDigitalContext _contexto = new XepaDigitalContext()){
                //Faz uma comparação do que foi mudado no Banco
                //Comparamos os atributos que foram modificados através do EF
                _contexto.Entry(ReservaProduto).State = EntityState.Modified;
                //UPDATE ReservaProduto SET titulo = "nt" where id =2
                await _contexto.SaveChangesAsync();

                return(ReservaProduto);
            }
        }
        public async Task <ReservaProduto> Salvar(ReservaProduto ReservaProduto)
        {
            using (XepaDigitalContext _contexto = new XepaDigitalContext()){
                //Tratamos contra ataques de SQL Injection
                await _contexto.AddAsync(ReservaProduto);

                //Salvamos efetivamente o nosso objeto no BD
                await _contexto.SaveChangesAsync();

                return(ReservaProduto);
            }
        }
Пример #5
0
        public async Task <ActionResult <ReservaProduto> > Post(ReservaProduto ReservaProduto)
        {
            try {
                var idPostagemRec         = HttpContext.User.Identity as ClaimsIdentity;
                IEnumerable <Claim> claim = idPostagemRec.Claims;
                var idClaim = claim.Where(x => x.Type == ClaimTypes.PrimarySid).FirstOrDefault();

                ReservaProduto.Situacao  = "Aguardando";
                ReservaProduto.IdUsuario = Convert.ToInt32(idClaim.Value);

                await _repositorio.Salvar(ReservaProduto);
            } catch (DbUpdateConcurrencyException) {
                throw;
            }
            return(ReservaProduto);
        }