Esempio n. 1
0
        public (bool, string) registrarProduto(Models.Produto p)
        {
            bool   ret = true;
            string msg = "OK";

            if (p.NomeProduto.Length < 5)
            {
                ret = false;
                msg = "Erro: O nome do produto está muito pequeno";
            }
            else
            {
                try
                {
                    CamadaAcessoDados.ProdutoDB pdb =
                        new CamadaAcessoDados.ProdutoDB();
                    pdb.Inserir(p);
                }catch (Exception e)
                {
                    throw new Exception(e.Message);
                }
            }

            return(ret, msg);
        }
Esempio n. 2
0
 public void Adiciona(Models.Produto produto)
 {
     using (var context = new EstoqueContext()) {
         context.Produtos.Add(produto);
         context.SaveChanges();
     }
 }
Esempio n. 3
0
        public Models.Produto ObterProdutoPorNome(string nome)
        {
            Models.Produto produto = null;
            string         sql     = @"select 
                                produto.cod, produto.nome, descricao, valor, estoque, estrelas, 
                                categoria.cod as categoria_cod, categoria.nome as categoria_nome
                           from 
                                produto, categoria
                           where 
                                produto.categoria_cod = categoria.cod and
                                produto.nome = @nome";

            var param = new Dictionary <string, object>();

            param.Add("@nome", nome);

            var dt = _bd.ExecutarSelect(sql, param);

            if (dt.Rows.Count > 0)
            {
                produto = Map(dt.Rows[0]);
            }

            return(produto);
        }
        public JsonResult PesquisarProduto(string termo)
        {
            Models.Produto        p     = new Models.Produto();
            List <Models.Produto> lista = p.Pesquisar(termo);

            return(Json(lista));
        }
        public bool AtualizarProduto(Models.Produto produtoObj)
        {
            try
            {
                Connection();
                int i;
                using (SqlCommand command = new SqlCommand("AtualizarProduto", _con))
                {
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("Nome", produtoObj.Nome);
                    command.Parameters.AddWithValue("ProdutoId", produtoObj.ProdutoId);
                    command.Parameters.AddWithValue("Categoria", produtoObj.Categoria);
                    command.Parameters.AddWithValue("Preco", produtoObj.Preco);
                    command.Parameters.AddWithValue("CodBarras", produtoObj.CodBarras);


                    _con.Open();
                    i = command.ExecuteNonQuery();
                }
                _con.Close();
                return(i >= 1);
            }
            catch (Exception e)
            {
                throw;
            }
        }
 public ActionResult Visualiza(int id)
 {
     DAO.ProdutosDAO dao     = new DAO.ProdutosDAO();
     Models.Produto  produto = dao.BuscaPorId(id);
     ViewBag.Produto = produto;
     return(View());
 }
Esempio n. 7
0
 public void Atualiza(Models.Produto produto)
 {
     using (var contexto = new EstoqueContext()) {
         contexto.Entry(produto).State = System.Data.Entity.EntityState.Modified;
         contexto.SaveChanges();
     }
 }
Esempio n. 8
0
        public async Task InserirAsync(ProdutoSignature signature)
        {
            var produto = new Models.Produto(signature.Nome, signature.Descricao, signature.Preco, signature.Quantidade);

            await _produtoRepository.InserirAsync(produto).ConfigureAwait(false);

            var estoque = await _estoqueRepository.ObterPorIdAsync(produto.Id);

            if (estoque == null)
            {
                if (produto.Quantidade <= 0)
                {
                    throw new ArgumentNullException("Quantidade de estoque necessita ser maior que zero");
                }

                estoque = new Models.Estoque(Guid.NewGuid(), produto.Id, produto.Quantidade);

                await _estoqueRepository.InserirAsync(estoque).ConfigureAwait(false);
            }
            else
            {
                estoque.Aumentar(produto.Quantidade);
                await _estoqueRepository.AtualizarAsync(estoque);
            }
        }
Esempio n. 9
0
        public IActionResult Salvar()
        {
            Models.Produto p = new Models.Produto();
            p.Nome  = "Abacaxi";
            p.Ativo = true;

            List <Models.Categoria> cats = p.Categorias.ToList();

            cats.Add(new Models.Categoria()
            {
                Id   = 1,
                Nome = "Frutas"
            });
            cats.Add(new Models.Categoria()
            {
                Id   = 2,
                Nome = "Legumes"
            });

            p.Categorias = cats;

            _produtoService.Salvar(p);

            return(Ok(true));
        }
Esempio n. 10
0
        public List <Models.Produto> PopularProdutos()
        {
            try
            {
                int qtdeProdutos = 15;

                List <Models.Produto> produtos = new List <Models.Produto>();

                for (int i = 0; i < qtdeProdutos; i++)
                {
                    Models.Produto produto = new Models.Produto
                    {
                        idProduct   = i + 1,
                        productName = "Produto " + (i + 1),
                        description = "Descricao " + (i + 1),
                        cathegory   = $"{(i + 1)}",
                        price       = 100 * (i + 1),
                    };

                    produtos.Add(produto);
                }

                return(produtos);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao popular dados: " + ex.Message);
            }
        }
        public (bool, string) Criar(Models.Produto produto)
        {
            string msg      = "";
            bool   operacao = false;

            CamadaAcessoDados.ProdutoBD produtoBD = new CamadaAcessoDados.ProdutoBD();
            // descricao não vazia
            if (String.IsNullOrEmpty(produto.Descricao))
            {
                msg = "Descrição não pode ser vazia";
            }
            else if (produto.Quantidade <= 0)
            {
                msg = "Quantidade deve ser preenchida";
            }
            else if (produto.Valor <= 0)
            {
                msg = "Valor deve ser preenchida";
            }
            if (produto.Categoria == null)
            {
                msg = "Categoria deve ser escolhida";
            }
            else if (produtoBD.Criar(produto))
            {
                msg      = "Produto " + produto.Descricao + " cadastrado com sucesso.";
                operacao = true;
            }
            else
            {
                msg = "Erro ao cadastrar produto";
            }
            return(operacao, msg);
        }
Esempio n. 12
0
        public bool Inserir(Models.Produto produto)
        {
            string sql = "INSERT INTO `lp4project`.`produto` (`produto_nome`, `produto_precoatual`, `produto_informacoes`," +
                         " `categoria_Id`, `fornecedor_Id`, `produto_precoanterior`,`produto_classificacao`)" +
                         " VALUES (@prod_nome, @prod_precoAtual, @prod_informacoes, @categoriaId," +
                         " @fornecedorId, @prod_precoAnterior, @prod_classificacao);";

            var parametros = _bd.GerarParametros();

            parametros.Add("@prod_nome", produto.NomeProduto);
            parametros.Add("@prod_precoAtual", produto.PrecoAtual);
            parametros.Add("@prod_informacoes", produto.DescricaoProduto);
            parametros.Add("@categoriaId", produto.CategoriaProduto.Id);
            parametros.Add("@fornecedorId", produto.FabricanteProduto.Id);
            parametros.Add("@prod_precoAnterior", produto.PrecoAnterior);
            parametros.Add("@prod_classificacao", produto.ClassificacaoProduto);

            int linhas_afetadas = _bd.ExecutarNonQuery(sql, parametros);

            if (linhas_afetadas > 0)
            {
                produto.Id = _bd.UltimoId;
            }
            return(linhas_afetadas > 0);
        }
Esempio n. 13
0
        public async Task <IActionResult> Edit(long id, [Bind("Id,Name,DescricaoProduto,Valor,MarcaId,SetorId,FornecedorId")] Models.Produto produto)
        {
            if (id != produto.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    await _repositoryProduto.UpdateAsync(id, produto);
                }
                catch (System.Exception)
                {
                    if (!ProdutoExists(produto.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["SetorId"]      = new SelectList(_repositorySetor.GetAll(), "Id", "Nome", produto.SetorId);
            ViewData["MarcaId"]      = new SelectList(_repositoryMarca.GetAll(), "Id", "Nome", produto.MarcaId);
            ViewData["FornecedorId"] = new SelectList(_repositorySetor.GetAll(), "Id", "Nome", produto.FornecedorId);
            return(View(produto));
        }
Esempio n. 14
0
        public List <Models.Produto> ObterTodos()
        {
            List <Models.Produto> lista = new List <Models.Produto>();

            string select = @"select * 
                              from produto";

            DataTable dt = _bd.ObterDados(select);

            foreach (DataRow row in dt.Rows)
            {
                Models.Produto c = new Models.Produto();
                c.Id    = (int)row["id"];
                c.Nome  = row["nome"].ToString();
                c.Preco = (decimal)row["preco"];

                if (row["imagem"] != DBNull.Value)
                {
                    c.Imagem = (byte[])row["imagem"];
                }

                lista.Add(c);
            }

            return(lista);
        }
Esempio n. 15
0
        public List <Models.Produto> GetProdutos()
        {
            List <Models.Produto> produtos = new List <Models.Produto>();

            using (MySqlConnection con = GetConnection())
            {
                con.Open();

                using (MySqlCommand cmd = con.CreateCommand())
                {
                    cmd.CommandText = @"Select * from Produto";

                    using (MySqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            Models.Produto p = new Models.Produto();

                            p.Id      = int.Parse(dr[0].ToString());
                            p.Nome    = (dr[1].ToString());
                            p.Preco   = decimal.Parse(dr[2].ToString());
                            p.Estoque = int.Parse(dr[3].ToString());

                            produtos.Add(p);
                        }
                    }
                }
            }
            return(produtos);
        }
Esempio n. 16
0
        public ActionResult Cadastrar(Models.Produto produto)
        {
            // se o ModelState não tem erro
            if (ModelState.IsValid)
            {
                //instancia um novo objeto DAL
                ProdutoDAL dal = new ProdutoDAL();

                //executa o metodo inserir localizado na classe produtoDAL
                dal.Inserir(produto);

                //envia mensagem de sucesso na view
                @TempData["mensagem"] = "Produto cadastrado com sucesso.";

                //redireciona para o Index do produto
                return(RedirectToAction("Index", "Produto"));

                //Encontrou um erro no preenchimento do campo novo produto
            }
            else
            {
                //retorna para a tela do formulário
                return(View(produto));
            }
        }
Esempio n. 17
0
        public Models.Produto GetProduto(int?id)
        {
            using (MySqlConnection con = GetConnection())
            {
                con.Open();

                using (MySqlCommand cmd = con.CreateCommand())
                {
                    cmd.CommandText = @"Select * from Produto Where Id = @Id";

                    cmd.Parameters.AddWithValue("@Id", id);

                    using (MySqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.Read())
                        {
                            Models.Produto p = new Models.Produto();

                            p.Id      = int.Parse(dr[0].ToString());
                            p.Nome    = (dr[1].ToString());
                            p.Preco   = decimal.Parse(dr[2].ToString());
                            p.Estoque = int.Parse(dr[3].ToString());

                            return(p);
                        }
                    }
                }
            }
            return(null);
        }
        public async Task Remover(Models.Produto obj)
        {
            var paraRemover = await Obter(obj.NomeUnico);

            DbSet.Remove(paraRemover);
            await Db.SaveChangesAsync();
        }
        public ActionResult Adiciona(Models.Produto produto)
        {
            //VALIDANDO CAMPO PREÇO IMPLEMENTANDO MANUALMENTE PARA ACEITAR VALOR ACIMA DE 100,00 SE O PRODUTO FOR DA CATEGORIA INFORMÁTICA
            //PORÉM O QUE ESTÁ SENDO USADO PARA OS PREÇOS DAS OUTRAS CATEGORIAS É O RangeAtributte NO MODELS
            int idDaInformatica = 1;

            if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100)
            {
                ModelState.AddModelError("produto.Invalido", "Produtos da categoria informática devem ter preço maior do que 100");
            }

            //VALIDANDO O CAMPO NOME DO PRODUTO, SE VERDADEIRO GRAVA NO BANCO SENÃO RETORNA AO FORMULÁRIO
            if (ModelState.IsValid)
            {
                DAO.ProdutosDAO dao = new DAO.ProdutosDAO();
                dao.Adiciona(produto);
                //REDIRECIONA PARA O INDEX (LISTAGEM DE PRODUTOS) DO CONTROLLER ATUAL APÓS O SUBMIT
                return(RedirectToAction("Index", "Produto"));
            }
            else
            {
                //PARA GUARDAR OS DADOS PREENCHIDOS EM CASOS DE DADOS INVÁLIDOS, GUARDANDO NA ViewBag
                ViewBag.Produto = produto;
                DAO.CategoriasDAO categoriasDAO = new DAO.CategoriasDAO();
                ViewBag.Categorias = categoriasDAO.Lista();
                return(View("Form"));
            }
        }
 public ProdutoViewModel(Models.Produto produto)
 {
     ProdutoId  = produto.ProdutoId;
     Nome       = produto.Nome;
     Valor      = produto.Valor;
     Disponivel = produto.Disponivel;
     ClienteId  = produto.ClienteId;
 }
Esempio n. 21
0
        public EstruturaProduto Put([FromBody] Models.Produto produto)
        {
            EstruturaProduto estruturaProduto = new EstruturaProduto();

            try
            {
                BaseProdutos baseProdutos = new BaseProdutos();

                if (produto == null)
                {
                    throw new Exception("o produto a ser alterado não pode ser nulo");
                }


                if (produto.idProduct == 0)
                {
                    throw new Exception("Favor selecionar um produto!");
                }

                List <Models.Produto> listProdutos = new List <Models.Produto>();

                string ListaProdutosSession = HttpContext.Session.GetString("Produtos");

                if (string.IsNullOrEmpty(ListaProdutosSession))
                {
                    listProdutos = baseProdutos.PopularProdutos();
                }
                else
                {
                    listProdutos = JsonConvert.DeserializeObject <List <Models.Produto> >(ListaProdutosSession);
                }

                Models.Produto produtoAlterado = listProdutos.Where(x => x.idProduct == produto.idProduct).SingleOrDefault();

                if (produtoAlterado == null)
                {
                    throw new Exception("produto selecionado não existe");
                }

                listProdutos.Remove(produtoAlterado);
                listProdutos.Add(produto);

                estruturaProduto.Produtos = listProdutos;

                string listaProdutos = JsonConvert.SerializeObject(estruturaProduto.Produtos);

                HttpContext.Session.SetString("Produtos", listaProdutos);

                return(estruturaProduto);
            }
            catch (Exception ex)
            {
                estruturaProduto.isError       = true;
                estruturaProduto.descricaoErro = ex.Message;

                return(estruturaProduto);
            }
        }
Esempio n. 22
0
        public IActionResult Save(Models.Produto produto)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Validacao = "Produto inválido";
            }

            return(View());
        }
        public Models.Produto Obter(int codigo)
        {
            Models.Produto produto = new Models.Produto();
            CamadaAcessoDados.ProdutoBD produtoBD = new CamadaAcessoDados.ProdutoBD();

            produto = produtoBD.Obter(codigo);

            return(produto);
        }
Esempio n. 24
0
 public ItemCarrinho(Models.Produto produto, Carrinho carrinho, int quantidade)
 {
     NomeProduto = produto.Nome;
     NomeUnico   = produto.NomeUnico;
     Valor       = produto.Valor;
     CarrinhoId  = carrinho.Id;
     Quantidade  = quantidade;
     Imagem      = produto.Imagem;
 }
Esempio n. 25
0
        public bool Salvar(Models.Produto produto)
        {
            //regras de negócio

            DAL.ProdutoDAL dal = new DAL.ProdutoDAL();
            bool           ok  = dal.Salvar(produto);

            return(ok);
        }
        public EstruturaVenda DeleteProduto(int idVenda, int idProduto)
        {
            EstruturaVenda estruturaVenda = new EstruturaVenda();

            try
            {
                if (idVenda == 0)
                {
                    //Retornar produto que contenha o id especificado

                    throw new Exception("Venda selecionado não existe");
                }

                string ListaVendasSession = HttpContext.Session.GetString("Vendas");
                if (string.IsNullOrEmpty(ListaVendasSession))
                {
                    throw new Exception("Não há vendas Registradas");
                }
                else
                {
                    estruturaVenda.Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession);
                }

                Models.Vendas venda = estruturaVenda.Vendas.Where(x => x.idVenda == idVenda).SingleOrDefault();

                Models.Produto produtoRemovido = venda.produtos.Where(x => x.idProduct == idProduto).SingleOrDefault();

                if (venda == null)
                {
                    throw new Exception("venda selecionada não existe");
                }

                if (produtoRemovido == null)
                {
                    throw new Exception("produto selecionado não existe");
                }

                venda.valorTotal = venda.valorTotal - produtoRemovido.price * produtoRemovido.quantidade;

                venda.produtos.Remove(produtoRemovido);

                string listaVendas = JsonConvert.SerializeObject(estruturaVenda.Vendas);

                HttpContext.Session.SetString("Vendas", listaVendas);

                return(estruturaVenda);
            }
            catch (Exception ex)
            {
                estruturaVenda.isError       = true;
                estruturaVenda.descricaoErro = ex.Message;

                return(estruturaVenda);
            }
        }
Esempio n. 27
0
        public IActionResult ObterProduto(int codigo)
        {
            //System.Threading.Thread.Sleep(5000);
            CamadaNegocio.ProdutoCamadaNegocio ucn = new CamadaNegocio.ProdutoCamadaNegocio();

            Models.Produto produto = ucn.Obter(codigo);



            return(Json(produto));
        }
Esempio n. 28
0
 public static ProdutoResult ToResult(this Models.Produto result)
 {
     return(new ProdutoResult()
     {
         ProdutoId = result.Id,
         Descricao = result.Descricao,
         Nome = result.Nome,
         Preco = result.Preco,
         Quantidade = result.Quantidade
     });
 }
Esempio n. 29
0
        public void Atualizar(Models.Produto produto)
        {
            var filter = Builders <Models.Produto> .Filter.Eq(p => p.Id, produto.Id);

            var update = Builders <Models.Produto> .Update
                         .Set(p => p.Nome, produto.Nome)
                         .Set(p => p.Preco, produto.Preco)
                         .Set(p => p.Categorias, produto.Categorias);

            _produtoCollection.UpdateOne(filter, update);
        }
        public async Task Atualizar(Models.Produto obj)
        {
            var entityDb = await Obter(obj.NomeUnico);

            var entity = obj.ToEntity();

            entity.Id = entityDb.Id;
            entity.ShallowCopyTo(entityDb);

            await Db.SaveChangesAsync();
        }