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()); }
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); }
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); }
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); } }
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); }