示例#1
0
        public IActionResult Get(int id)
        {
            try{
                var produtos = database.Produtos.First(p => p.ID == id);
                ProdutoContainer produtoContainer = new ProdutoContainer();
                produtoContainer.produto = produtos;
                produtoContainer.links   = hateoas.GetActions(produtos.ID.ToString());

                return(Ok(produtoContainer));
            }catch (Exception ex) {
                return(NotFound(new { msg = "Id inválido", body = ex }));
            }
        }
示例#2
0
        protected void FixtureSetUp()
        {
            _chave = ChaveProdutoBuilder.UmaChave().Build();

            _detalhe = DadosProdutoBuilder.Um().Padrao().Build();

            _adapter = new Mock <IProdutoAdapter>();
            _adapter.Setup(p => p.ObterDadosProduto(_chave)).Returns(_detalhe);

            _servicoProduto = new ProdutoContainer(_adapter.Object);

            _detalhe = _servicoProduto.GetValue(_chave);
        }
示例#3
0
 public IActionResult Get(int id)
 {
     try{
         Produto          produto        = database.Produtos.First(p => p.Id == id);
         ProdutoContainer produtoHATEOAS = new ProdutoContainer();
         produtoHATEOAS.produto = produto;
         produtoHATEOAS.links   = HATEOAS.GetActions(produto.Id.ToString());
         return(Ok(produtoHATEOAS));
     }catch (Exception e) {
         Response.StatusCode = 404;
         return(new ObjectResult(""));
     }
 }
        public new void FixtureSetUp()
        {
            _chave = ChaveProdutoBuilder.UmaChave().Build();

            _dadosProduto = DadosProdutoBuilder.Um().Padrao().Build();

            _produtoAdapter = new Mock <IProdutoAdapter>();
            _produtoAdapter.Setup(p => p.ObterDadosProduto(It.IsAny <ChaveProduto>())).Returns(_dadosProduto);

            _produtoConteiner = new ProdutoContainer(_produtoAdapter.Object);

            _produtoConteiner.GetValue(_chave);
        }
示例#5
0
        public IActionResult Get()
        {
            var produtos = database.Produtos.ToList();
            List <ProdutoContainer> produtosHATEOAS = new List <ProdutoContainer>();

            foreach (var prod in produtos)
            {
                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = prod;
                produtoHATEOAS.links   = HATEOAS.GetActions(prod.Id.ToString());
                produtosHATEOAS.Add(produtoHATEOAS);
            }
            return(Ok(produtosHATEOAS)); // Status code = 200 && dados
        }
 public IActionResult ListarProdutoId(int id)
 {
     try {
         var produtos = _database.Produtos.First(p => p.Id == id);
         ProdutoContainer produtoHateoas = new ProdutoContainer();
         produtoHateoas.produto = produtos;
         produtoHateoas.links   = _hateoas.GetAction(produtos.Id.ToString());
         return(Ok(produtoHateoas));
     }
     catch {
         Response.StatusCode = 404;
         return(new ObjectResult(""));
     }
 }
示例#7
0
        public IActionResult PegarProduto()
        {
            var produtos = _context.Produtos.ToList();
            List <ProdutoContainer> produtosHATEOAS = new List <ProdutoContainer>();

            foreach (var prod in produtos)
            {
                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = prod;
                produtoHATEOAS.links   = HATEOAS.GetActions(prod.Id.ToString());
                produtosHATEOAS.Add(produtoHATEOAS);
            }
            return(Ok(produtosHATEOAS));
        }
示例#8
0
 public IActionResult Get()
 {
     var produtos = _context.Produtos.ToList();
     List<ProdutoContainer> produtosHATEOAS = new List<ProdutoContainer>();
     foreach(var prod in produtos)
     {
         ProdutoContainer produtoHATEOAS = new ProdutoContainer();
         produtoHATEOAS.produto = prod;
         produtoHATEOAS.links = HATEOAS.GetActions(prod.Id.ToString());
         produtosHATEOAS.Add(produtoHATEOAS);
     }
     return Ok(produtosHATEOAS);
     // return NotFound();  Status code 404
     // return Ok(new { nome = "Gabriel Lopes", empresa = "School of Net" }); Ocorreu como planejado, ou seja, retorna o status 200 e dados
 }
        public IActionResult ListarProduto()
        {
            var produtos = _database.Produtos.ToList();
            List <ProdutoContainer> produtosHateoas = new List <ProdutoContainer>();

            foreach (var prod in produtos)
            {
                ProdutoContainer produtoHateoas = new ProdutoContainer();
                produtoHateoas.produto = prod;
                produtoHateoas.links   = _hateoas.GetAction(prod.Id.ToString());
                produtosHateoas.Add(produtoHateoas);
            }

            return(Ok(produtosHateoas));
        }
示例#10
0
        public IActionResult Get()
        {
            database.Categorias.ToList();
            var produtos = database.Produtos.ToList();
            List <ProdutoContainer> produtosHateoas = new List <ProdutoContainer>();

            foreach (var prod in produtos)
            {
                ProdutoContainer produtoHateoas = new ProdutoContainer();
                produtoHateoas.produto = prod;
                produtoHateoas.links   = Hateoas.GetActions(prod.ProdutoId.ToString());
                produtosHateoas.Add(produtoHateoas);
            }
            return(Ok(produtosHateoas));
        }
示例#11
0
        public IActionResult Get()
        {
            var produtos = database.Produtos.ToList();

            List <ProdutoContainer> listContainer = new List <ProdutoContainer>();

            foreach (var produto in produtos)
            {
                ProdutoContainer produtoContainer = new ProdutoContainer();
                produtoContainer.produto = produto;
                produtoContainer.links   = hateoas.GetActions(produto.ID.ToString());
                listContainer.Add(produtoContainer);
            }

            return(Ok(new { msg = "Lista de produtos", body = listContainer }));
        }
        public IActionResult GetById(int id)
        {
            var produto = _context.Produtos.FirstOrDefault(p => p.Id == id);

            if (produto != null)
            {
                var produtoHateoas = new ProdutoContainer
                {
                    Produto = produto,
                    Links   = _hateoas.GetActions(produto.Id.ToString())
                };
                return(Ok(produtoHateoas));
            }

            return(NotFound(""));
        }
示例#13
0
 [HttpGet("{id}")] // Mapeando rota
 public IActionResult Get(int id)
 {
     try // Usar try catch para fazer a tratativa do erro, em caso de se passar um id inválido
     {
         Produto          proJson       = database.Produtos.First(p => p.Id == id);
         ProdutoContainer produtoHATEOS = new ProdutoContainer();
         produtoHATEOS.produto = proJson;
         produtoHATEOS.links   = HATEOAS.GetActions(proJson.Id.ToString());
         return(Ok(produtoHATEOS));
     }
     catch (Exception)
     {
         Response.StatusCode = 404;
         return(new ObjectResult(""));
     }
 }
示例#14
0
 public IActionResult Get(int id)
 {
     try
     {
         Produto produto = database.Produtos.First(x => x.ProdutoId == id);
         database.Categorias.ToList();
         ProdutoContainer produtoHatoeas = new ProdutoContainer();
         produtoHatoeas.produto = produto;
         produtoHatoeas.links   = Hateoas.GetActions(produto.ProdutoId.ToString());
         return(Ok(produtoHatoeas));
     }
     catch (Exception)
     {
         Response.StatusCode = 404;
         return(new ObjectResult(""));
     }
 }
示例#15
0
        public IActionResult Get(int id) // se eu digitar um numero na rota, automaticamente vem para esse método
        {
            try
            {
                Produto          produto        = database.Produtos.First(p => p.Id == id);
                ProdutoContainer produtoHateoas = new ProdutoContainer();
                produtoHateoas.produto = produto;
                produtoHateoas.links   = Hateoas.GetActions(produto.Id.ToString());
                return(Ok(produtoHateoas));
            }
            catch (Exception)
            {
                Response.StatusCode = 404;
                return(new ObjectResult(new { msg = "Id inválido!" }));

                // return BadRequest(new { msg = "Id inválido: " + e });
            }
        }
        public IActionResult Get()
        {
            var produtos = _context.Produtos.ToList();

            var produtosContainer = new List <ProdutoContainer>();

            foreach (var produto in produtos)
            {
                var produtoHateoas = new ProdutoContainer
                {
                    Produto = produto,
                    Links   = _hateoas.GetActions(produto.Id.ToString())
                };
                produtosContainer.Add(produtoHateoas);
            }

            return(Ok(produtosContainer));
        }
示例#17
0
        public IActionResult Get()
        {
            // return Ok("Tudo ok!"); // status code = 200

            // retorna um Json
            var produtos = database.Produtos.ToList();
            List <ProdutoContainer> produtosHateoas = new List <ProdutoContainer>();

            foreach (var prod in produtos)
            {
                ProdutoContainer produtoHateoas = new ProdutoContainer();
                produtoHateoas.produto = prod;
                produtoHateoas.links   = Hateoas.GetActions(prod.Id.ToString());
                produtosHateoas.Add(produtoHateoas);
            }
            return(Ok(produtos));
            // return Ok(new { nome = "Thais Cardoso", signo = "capricórnio"});
        }
示例#18
0
        public ProdutoContainer ConverteDTO(Produto produto)
        {
            ProdutoDTO produtoTemporario = new ProdutoDTO();

            produtoTemporario.Id            = produto.Id;
            produtoTemporario.Nome          = produto.Nome;
            produtoTemporario.Valor         = produto.Valor;
            produtoTemporario.CodigoProduto = produto.CodigoProduto;
            produtoTemporario.Fornecedor    = produto.Fornecedor;
            produtoTemporario.Quantidade    = produto.Quantidade;
            produtoTemporario.Imagem        = produto.Imagem;
            produtoTemporario.Promocao      = produto.Promocao;
            produtoTemporario.ValorPromocao = produto.ValorPromocao;
            produtoTemporario.Categoria     = produto.Categoria;
            ProdutoContainer produtoHateoas = new ProdutoContainer();

            produtoHateoas.Produto = produtoTemporario;
            return(produtoHateoas);
        }
示例#19
0
        [HttpGet] // Importante sempre passar o verbo http
        public IActionResult Get()
        {
            var proJson = database.Produtos.ToList();

            List <ProdutoContainer> produtosHATEOAS = new List <ProdutoContainer>();

            foreach (var prod in proJson)
            {
                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = prod;
                produtoHATEOAS.links   = HATEOAS.GetActions(prod.Id.ToString());
                produtosHATEOAS.Add(produtoHATEOAS);
            }
            return(Ok(produtosHATEOAS));

            // return Ok(new {nome = "Fabiano Preto", empresa = "GFT"}); // Retorna status code 200 e dados dentro do ()
            // Há outros como esse, exemplo badRequest e NotFound
            // Com o new é criado um JSON para ser retornado
        }
示例#20
0
        public IActionResult Prod(int id)
        {
            try{
                var produto = _context.Produtos.First(p => p.Id.Equals(id));

                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = produto;
                produtoHATEOAS.links   = HATEOAS.GetActions(produto.Id.ToString());

                if (produto.Id != id)
                {
                    Response.StatusCode = 404;
                    return(new ObjectResult("Http 404 - Not found!"));
                    //return Ok("Http 404 - Not found!");
                }
                return(Ok(produtoHATEOAS));
            }catch (Exception) {
                return(BadRequest(new { Erro = "Id não encontrado!" }));
            }
        }
示例#21
0
        public IActionResult Get(int id)
        //Fazendo a listagem de um produto isolado
        {
            //Vai tentar pegar algum produto do banco de dados com um determinado id, caso consiga ele retorna normalmente
            try
            {
                Produto produto = _context.Produtos.First(p => p.Id == id);
                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = produto;
                produtoHATEOAS.links = HATEOAS.GetActions(produto.Id.ToString());
                return Ok(produtoHATEOAS);

            }//Se ele não conseguir encontrar um produto ele irá capturar o erro e tratar ele
            catch (Exception e)
            {
                Response.StatusCode = 404; //Retorna o status Criado
                return new ObjectResult("");
                // return BadRequest(new { msg = "Id invalido!" }); Bad request é utilizadd para dizer ao cliente que algo aconteceu errado na requisição, Status 400
            }
            // return Ok("Wesley Williams " + id);
        }
示例#22
0
        public IActionResult List()
        {
            if (!_context.Produtos.Any())
            {
                Response.StatusCode = 404;
                return(new ObjectResult("Http 404 - Not found!"));
            }

            var produtos = _context.Produtos.ToList();

            List <ProdutoContainer> produtosHATEOAS = new List <ProdutoContainer>();

            foreach (var prod in produtos)
            {
                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = prod;
                produtoHATEOAS.links   = HATEOAS.GetActions(prod.Id.ToString());
                produtosHATEOAS.Add(produtoHATEOAS);
            }

            return(Ok(produtosHATEOAS));
        }
示例#23
0
        public IActionResult GetByAsc()
        {
            var produtos = database.produtos.Where(p => p.Status == true).Include(p => p.Fornecedor).OrderBy(p => p.Nome).ToList();

            List <ProdutoContainer> produtosHATEOAS = new List <ProdutoContainer>();

            foreach (var produto in produtos)
            {
                List <string> formatoLinks = new List <string>();
                formatoLinks.Add(produto.Id.ToString());
                formatoLinks.Add("nome/" + produto.Nome.Replace(" ", "%20"));
                formatoLinks.Add(produto.Id.ToString());
                formatoLinks.Add(produto.Id.ToString());

                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = produto;
                produtoHATEOAS.links   = HATEOAS.GetActions(formatoLinks);
                produtosHATEOAS.Add(produtoHATEOAS);
            }

            return(Ok(produtosHATEOAS));
        }
示例#24
0
        public IActionResult Get(int id)
        {
            try
            {
                var produto = database.produtos.Where(p => p.Status == true).Include(p => p.Fornecedor).First(p => p.Id == id);

                List <string> formatoLinks = new List <string>();
                formatoLinks.Add(produto.Id.ToString());
                formatoLinks.Add("nome/" + produto.Nome.Replace(" ", "%20"));
                formatoLinks.Add(produto.Id.ToString());
                formatoLinks.Add(produto.Id.ToString());

                ProdutoContainer produtoHATEOAS = new ProdutoContainer();
                produtoHATEOAS.produto = produto;
                produtoHATEOAS.links   = HATEOAS.GetActions(formatoLinks);

                return(Ok(produtoHATEOAS));
            }
            catch (Exception)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new { msg = "Id não encontrado" }));
            }
        }