public IActionResult ListaAlfDec() { var produtos = database.Produtos.Include(f => f.Fornecedor).OrderByDescending(p => p.Nome).ToList(); List <ProdutoGetContainer> produtosHATEOAS = new List <ProdutoGetContainer>(); foreach (var produto in produtos) { ProdutoGetContainer produtoHateoas = new ProdutoGetContainer(); produtoHateoas.Id = produto.Id; produtoHateoas.Codigo = produto.Codigo; produtoHateoas.Nome = produto.Nome; produtoHateoas.Valor = produto.Valor; produtoHateoas.Promocao = produto.Promocao; produtoHateoas.ValorPromocao = produto.ValorPromocao; produtoHateoas.Categoria = produto.Categoria; produtoHateoas.Imagem = produto.Imagem; produtoHateoas.Quantidade = produto.Quantidade; var fornId = database.Fornecedores.First(p => p.Id == produto.Fornecedor.Id); produtoHateoas.FornecedorId = fornId.Id; produtoHateoas.links = HATEOAS.GetActions(produto.Id.ToString()); produtosHATEOAS.Add(produtoHateoas); } return(Ok(new{ produtosHATEOAS })); }
public IActionResult Get(int id) { try{ var produto = database.Produtos.Include(f => f.Fornecedor).First(f => f.Id == id); ProdutoGetContainer produtoHateoas = new ProdutoGetContainer(); produtoHateoas.Id = produto.Id; produtoHateoas.Codigo = produto.Codigo; produtoHateoas.Nome = produto.Nome; produtoHateoas.Valor = produto.Valor; produtoHateoas.Promocao = produto.Promocao; produtoHateoas.ValorPromocao = produto.ValorPromocao; produtoHateoas.Categoria = produto.Categoria; produtoHateoas.Imagem = produto.Imagem; produtoHateoas.Quantidade = produto.Quantidade; var fornId = database.Fornecedores.First(p => p.Id == produto.Fornecedor.Id); produtoHateoas.FornecedorId = fornId.Id; produtoHateoas.links = HATEOAS.GetActions(produto.Id.ToString()); return(Ok(produtoHateoas)); }catch (Exception) { Response.StatusCode = 404; return(new ObjectResult(new{ msg = "Id inválido" })); } }
public IActionResult PesquisaNome(string nome) { try{ var produtos = database.Produtos.Include(f => f.Fornecedor).Where(p => p.Nome.Contains(nome)).ToList(); List <ProdutoGetContainer> produtosHATEOAS = new List <ProdutoGetContainer>(); foreach (var produto in produtos) { ProdutoGetContainer produtoHateoas = new ProdutoGetContainer(); produtoHateoas.Id = produto.Id; produtoHateoas.Codigo = produto.Codigo; produtoHateoas.Nome = produto.Nome; produtoHateoas.Valor = produto.Valor; produtoHateoas.Promocao = produto.Promocao; produtoHateoas.ValorPromocao = produto.ValorPromocao; produtoHateoas.Categoria = produto.Categoria; produtoHateoas.Imagem = produto.Imagem; produtoHateoas.Quantidade = produto.Quantidade; var fornId = database.Fornecedores.First(p => p.Id == produto.Fornecedor.Id); produtoHateoas.FornecedorId = fornId.Id; produtoHateoas.links = HATEOAS.GetActions(produto.Id.ToString()); produtosHATEOAS.Add(produtoHateoas); } if (produtos.Count == 0) { Response.StatusCode = 404; return(new ObjectResult(new{ msg = "Nome não disponível na lista de produtos" })); } return(Ok(new{ produtosHATEOAS })); }catch { Response.StatusCode = 404; return(new ObjectResult(new{ msg = "Nome não disponível na lista de produtos" })); } }