public ServiceResult <ProdutoViewDTO> GetProduto(int idProduto) { _logger.LogDebug("A executar [ProdutoBusiness -> GetProduto]"); IList <int> erros = new List <int>(); ProdutoViewDTO produtoViewDTO = null; Produto produto = _produtoDAO.GetProduto(idProduto); if (produto == null) { _logger.LogWarning($"Não existe nenhum Produto com IdProduto {idProduto}!"); erros.Add((int)ErrosEnumeration.ProdutoNaoExiste); } else { if (_produtoDAO.IsAtivo(idProduto)) { produtoViewDTO = _mapper.Map <ProdutoViewDTO>(produto); produtoViewDTO.Url = new Uri($"{_appSettings.ServerUrl}/Images/Produto/{produto.IdProduto}.{produto.ExtensaoImagem}"); } else { _logger.LogDebug($"O Produto com IdProduto {idProduto} encontra-se desativado!"); erros.Add((int)ErrosEnumeration.ProdutoDesativado); } } return(new ServiceResult <ProdutoViewDTO> { Erros = new ErrosDTO { Erros = erros }, Sucesso = !erros.Any(), Resultado = produtoViewDTO }); }
public ServiceResult <IList <ProdutoViewDTO> > GetProdutosDesativadosCategoria(int idCategoria) { _logger.LogDebug("A executar [CategoriaBusiness -> GetProdutosDesativadosCategoria]"); IList <int> erros = new List <int>(); IList <ProdutoViewDTO> produtosViewDTO = new List <ProdutoViewDTO>(); if (!_categoriaDAO.ExisteCategoria(idCategoria)) { _logger.LogWarning($"A Categoria com IdCategoria {idCategoria} não existe!"); erros.Add((int)ErrosEnumeration.CategoriaNaoExiste); } else { if (_categoriaDAO.IsAtiva(idCategoria)) { IList <Produto> produtos = _categoriaDAO.GetProdutosDesativadosCategoria(idCategoria); if (produtos != null) { string pathImagem = $"{_appSettings.ServerUrl}/Images/Produto"; foreach (Produto produto in produtos) { ProdutoViewDTO produtoViewDTO = _mapper.Map <ProdutoViewDTO>(produto); produtoViewDTO.Url = new Uri($"{pathImagem}/{produto.IdProduto}.{produto.ExtensaoImagem}"); produtosViewDTO.Add(produtoViewDTO); } } } else { _logger.LogDebug($"A Categoria com IdCategoria {idCategoria} encontra-se desativada!"); erros.Add((int)ErrosEnumeration.CategoriaDesativada); } } return(new ServiceResult <IList <ProdutoViewDTO> > { Erros = new ErrosDTO { Erros = erros }, Sucesso = !erros.Any(), Resultado = produtosViewDTO }); }