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

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

            //NoContent = Retorna 204, sem nada
            return(NoContent());
        }
Exemplo n.º 2
0
        public async Task <ActionResult <Produto> > Post([FromForm] Produto Produto)
        {
            try {
                var imagem = Request.Form.Files[0];

                Produto.ImgProduto       = _UploadImg.Upload(imagem, "Produtos");
                Produto.NomeProduto      = Request.Form["NomeProduto"].ToString();
                Produto.DescricaoProduto = Request.Form["DescricaoProduto"].ToString();
                Produto.Disponibilidade  = decimal.Parse(Request.Form["Disponibilidade"]);
                Produto.Organico         = bool.Parse(Request.Form["Organico"]);
                Produto.Preco            = decimal.Parse(Request.Form["Preco"]);
                Produto.Validade         = DateTime.Parse(Request.Form["Validade"]);

                await _repositorio.Salvar(Produto);

                // Criando a tabela Registro de produto e passando o IdProduto criado + IdUsuario Logado
                var idPostagemRec         = HttpContext.User.Identity as ClaimsIdentity;
                IEnumerable <Claim> claim = idPostagemRec.Claims;
                var idClaim = claim.Where(x => x.Type == ClaimTypes.PrimarySid).FirstOrDefault();

                // Criando o Objeto Registro
                RegistroProduto registro = new RegistroProduto();

                // Passando os atributos do Objeto Registro
                registro.IdProduto = Produto.IdProduto;
                registro.IdUsuario = Convert.ToInt32(idClaim.Value);

                await _repositorioRegistro.Salvar(registro);
            } catch (DbUpdateConcurrencyException) {
                throw;
            }
            return(Produto);
        }
 public async Task <ActionResult <RegistroProduto> > Post(RegistroProduto RegistroProduto)
 {
     try {
         await _repositorio.Salvar(RegistroProduto);
     } catch (DbUpdateConcurrencyException) {
         throw;
     }
     return(RegistroProduto);
 }
Exemplo n.º 4
0
        public RegistroProduto toRegistroProduto()
        {
            RegistroProduto registro = new RegistroProduto();

            registro.Id           = this.id;
            registro.Nome         = this.nome;
            registro.PrecoUnidade = precoUnitario;
            registro.DataCadastro = this.dataCadastro.ToString();

            return(registro);
        }
Exemplo n.º 5
0
        public Produto(RegistroProduto rproduto)
        {
            this.id            = rproduto.Id;
            this.nome          = rproduto.Nome;
            this.precoUnitario = rproduto.PrecoUnidade;

            if (this.id == 0)
            {
                this.dataCadastro = DateTime.Now;
            }
        }
        public async Task <RegistroProduto> Excluir(RegistroProduto RegistroProduto)
        {
            using (XepaDigitalContext _contexto = new XepaDigitalContext()){
                //Selecionando o objeto a ser removido
                _contexto.RegistroProduto.Remove(RegistroProduto);
                //De fato deleta o arquivo
                await _contexto.SaveChangesAsync();

                return(RegistroProduto);
            }
        }
        public async Task <RegistroProduto> Alterar(RegistroProduto RegistroProduto)
        {
            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(RegistroProduto).State = EntityState.Modified;
                //UPDATE RegistroProduto SET titulo = "nt" where id =2
                await _contexto.SaveChangesAsync();

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

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

                return(RegistroProduto);
            }
        }
Exemplo n.º 9
0
        public async Task <ActionResult <Produto> > Delete(int id)
        {
            var Produto = await _repositorio.BuscarPorID(id);

            if (Produto == null)
            {
                return(NotFound(
                           new {
                    Mensagem = "Não foi possível obter as informações"
                }
                           ));
            }
            RegistroProduto registro = new RegistroProduto();
            var             Reg      = await _repositorioRegistro.BuscarProdutosPorIdProduto(id);

            await _repositorioRegistro.Excluir(Reg);

            await _repositorio.Excluir(Produto);

            return(Produto);
        }