Esempio n. 1
0
        /// <summary>
        /// Criar
        /// </summary>
        /// <returns>Resultado do check</returns>
        public async Task CriarNaLista(ProdutoRequest model, int listaId)
        {
            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                // Verifica se o usuario tem permissao na lista
                var permissao = await ValidaParticipante(listaId);

                if (permissao == false)
                {
                    throw new ApiExcecao(403, "Usuario não pode adicionar produto na lista pois não participa desta lista");
                }

                // Cria o produto
                Produto entidade = await GaranteProduto(model);

                var produtoLista = new ProdutoLista()
                {
                    ListaId   = listaId,
                    ProdutoId = entidade.Id
                };

                // Atrela a lista com o produto
                await this.repositorioProdutoLista.InserirAsync(produtoLista);

                scope.Complete();
            }
        }
        public IActionResult Post(ProdutoLista produto)
        {
            try
            {
                //var produtoDom = new Produto()
                //{
                //    Descricao = produto.Descricao,
                //    Id = produto.Id,
                //    Nome = produto.Nome,
                //    Preco = produto.Preco,
                //};

                var produtoMap = mapper.Map <Produto>(produto);
                produtoMap.Validate();
                if (!produtoMap.EhValido)
                {
                    return(BadRequest(produtoMap.ObterMensagensValidacao()));
                }
                produtoRepositorio.Adicionar(produtoMap);
                produto = this.mapper.Map <ProdutoLista>(produtoMap);
                return(Created("produto", produto));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Esempio n. 3
0
        public ProdutoLista ConsultarProdutoNome(string nome)
        {
            try
            { //Consultar por Nome
                ProdutoLista produtoLista = new ProdutoLista();
                string       sql          = @"Select 
                               @idProduto
                              ,@nomeProduto
                              ,@descProduto
                              ,@precProduto
                              ,@descontoPromocao
                              ,@idCategoria
                              ,@ativoProduto
                              ,@idUsuario
                              ,@qtdMinEstoque
                              ,@imagem

                        FROM PRODUTO WHERE nomeProduto LIKE '%' + @nomeProduto +'%' ";

                acessoBanco.LimparParametros();
                acessoBanco.AdicionarParametros("@nomeProduto", nome);

                DataTable dataTableProduto = acessoBanco.ExecutarConsulta(CommandType.Text, sql);

                //Percorrer Tabela
                foreach (DataRow linha in dataTableProduto.Rows)
                {
                    //Cria o produto
                    Produto produto = new Produto();

                    //Pega as informações da linha no banco
                    produto.idProduto        = Convert.ToInt32(linha["idProduto"]);
                    produto.nomeProduto      = Convert.ToString(linha["nomeProduto"]);
                    produto.descProduto      = Convert.ToString(linha["descProduto"]);
                    produto.precProduto      = Convert.ToDouble(linha["precProduto"]);
                    produto.descontoPromocao = Convert.ToDouble(linha["descontoPromocao"]);
                    produto.idCategoria      = Convert.ToInt32(linha["idCategoria"]);
                    produto.ativoProduto     = Convert.ToBoolean(linha["ativoProduto"]);
                    produto.idUsuario        = Convert.ToInt32(linha["idUsuario"]);
                    produto.qtdMinEstoque    = Convert.ToInt32(linha["qtdMinEstoque"]);
                    produto.imagem           = Convert.ToString(linha["imagem"]);

                    //Adiciona o produto na lista de produto
                    produtoLista.Add(produto);
                }

                return(produtoLista);
            }


            catch (Exception exception)
            {
                throw new Exception("Cliente não existe " + exception.Message);
            }
        }