コード例 #1
0
 public async Task <IList <Produto> > BuscaPorGrupoAsync(ProdutoGrupo grupo)
 {
     using (var session = Provider.OpenStatelessSession())
         return(await session.Query <Produto>()
                .Where(p => p.Grupo.Id == grupo.Id)
                .ToListAsync());
 }
コード例 #2
0
        public IActionResult Post([FromBody] ProdutoGrupo produtoGrupo)
        {
            try
            {
                if (produtoGrupo == null)
                {
                    return(BadRequest(ModelState));
                }

                if (ModelState.IsValid)
                {
                    produtoGrupo.ProdutoGrupoId = 0;
                    produtoGrupo.ProdutoGrupoId = _produtoGrupoRepository.Add(produtoGrupo);

                    return(CreatedAtAction("Get", new { Id = produtoGrupo.ProdutoGrupoId }, produtoGrupo));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Erro ao criar um produto grupo." + System.Environment.NewLine + " Detalhes:" + ex.Message);
                return(BadRequest(ModelState));
            }
        }
コード例 #3
0
        public IActionResult AlterarProdutoGrupo([FromBody] ProdutoGrupo objJson, int id)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(400, new RetornoJsonErro(400, "Objeto inválido [Alterar ProdutoGrupo]", null)));
                }

                if (objJson.Id != id)
                {
                    return(StatusCode(400, new RetornoJsonErro(400, "Objeto inválido [Alterar ProdutoGrupo] - ID do objeto difere do ID da URL.", null)));
                }

                var objBanco = _repository.ProdutoGrupo.ConsultarObjeto(objJson.Id);

                if (objBanco == null)
                {
                    return(StatusCode(400, new RetornoJsonErro(400, "Objeto com ID inválido [Alterar ProdutoGrupo]", null)));
                }

                _repository.ProdutoGrupo.Alterar(objBanco, objJson);

                return(ConsultarObjetoProdutoGrupo(id));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new RetornoJsonErro(500, "Erro no Servidor [Alterar ProdutoGrupo]", ex)));
            }
        }
コード例 #4
0
        public async Task <IActionResult> Edit(Guid id, [Bind("ProdutoGrupoId,Nome")] ProdutoGrupo produtoGrupo)
        {
            if (id != produtoGrupo.ProdutoGrupoId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(produtoGrupo);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProdutoGrupoExists(produtoGrupo.ProdutoGrupoId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(produtoGrupo));
        }
コード例 #5
0
        public IActionResult Put(int id, [FromBody] ProdutoGrupo produtoGrupo)
        {
            try
            {
                if (produtoGrupo == null || produtoGrupo.ProdutoGrupoId != id)
                {
                    return(BadRequest(ModelState));
                }

                var _produtoGrupo = _produtoGrupoRepository.GetItem(id);

                if (_produtoGrupo.ProdutoGrupoId == 0)
                {
                    return(NotFound());
                }


                if (ModelState.IsValid)
                {
                    _produtoGrupoRepository.Add(produtoGrupo);

                    return(new NoContentResult());
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Erro ao atualizar um produto grupo." + System.Environment.NewLine + " Detalhes:" + ex.Message);
                return(BadRequest(ModelState));
            }
        }
コード例 #6
0
 public Produto(string descricao, UnidadeMedida unidadeDeMedida, string codBarras, decimal precoCusto, decimal precoVenda, DateTime dataHoraCadastro, bool ativo, ProdutoGrupo produtoGrupo)
 {
     Descricao        = descricao;
     UnidadeDeMedida  = unidadeDeMedida;
     CodBarras        = codBarras;
     PrecoCusto       = precoCusto;
     PrecoVenda       = precoVenda;
     DataHoraCadastro = dataHoraCadastro;
     Ativo            = ativo;
     ProdutoGrupo     = produtoGrupo;
 }
コード例 #7
0
        public async Task <IActionResult> Create([Bind("ProdutoGrupoId,Nome")] ProdutoGrupo produtoGrupo)
        {
            if (ModelState.IsValid)
            {
                produtoGrupo.ProdutoGrupoId = Guid.NewGuid();
                _context.Add(produtoGrupo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(produtoGrupo));
        }
コード例 #8
0
        public int Add(ProdutoGrupo item)
        {
            try
            {
                var _conn = new SqlConnection(_connectionString);

                var _cmdText = "";

                if (item.ProdutoGrupoId == 0)
                {
                    _cmdText = " INSERT INTO PRODUTO_GRUPOS ( " +
                               "  PROD_GRUPO_DESC, " +
                               "  PROD_GRUPO_ATIVO ) " +
                               " VALUES ( " +
                               "  @PROD_GRUPO_DESC, " +
                               "  @PROD_GRUPO_ATIVO ); " +
                               " SELECT SCOPE_IDENTITY(); ";
                }
                else
                {
                    _cmdText = " UPDATE PRODUTO_GRUPOS SET " +
                               "  PROD_GRUPO_DESC = @PROD_GRUPO_DESC, " +
                               "  PROD_GRUPO_ATIVO = @PROD_GRUPO_ATIVO " +
                               " WHERE PROD_GRUPO_ID = @PROD_GRUPO_ID ";
                }


                var _cmd = new SqlCommand(_cmdText, _conn);

                if (item.ProdutoGrupoId > 0)
                {
                    _cmd.Parameters.AddWithValue("@PROD_GRUPO_ID", item.ProdutoGrupoId);
                }

                _cmd.Parameters.AddWithValue("@PROD_GRUPO_DESC", item.Descricao);
                _cmd.Parameters.AddWithValue("@PROD_GRUPO_ATIVO", item.Ativo);

                _conn.Open();
                var _retorno = Convert.ToInt32(_cmd.ExecuteScalar());
                _conn.Close();

                return(_retorno);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
        public async void AdicionarProduto
        (
            string descricao,
            UnidadeMedida unidadeDeMedida,
            string codBarras,
            decimal precoCusto,
            decimal precoVenda,
            bool ativo,
            ProdutoGrupo produtoGrupo
        )
        {
            Produto produto = new Produto(descricao, unidadeDeMedida, codBarras, precoCusto, precoVenda, DateTime.Now, ativo, produtoGrupo);

            _produtoRepositorio.Add(produto);
            await _produtoRepositorio.SaveChangesAsync();
        }
コード例 #10
0
 //CRIAR METODO
 public String ProdutoGrupoInserir(ProdutoGrupo produtoGrupo)
 {
     try
     {
         //LIMPARA PARAMETROS
         accessSqlServer.LimparParametros();
         //ADICIONAR PARAMETROS
         accessSqlServer.AdiconarParamentros("@Descricao", produtoGrupo.Descricao);
         //MANIPULACAO
         String IDProdGrupo = accessSqlServer.Persistencia(System.Data.CommandType.StoredProcedure, "uspProdutoGrupoInserir").ToString();
         return(IDProdGrupo);
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
コード例 #11
0
        public async void EditarProduto
        (
            int Id,
            string descricao,
            UnidadeMedida unidadeDeMedida,
            string codBarras,
            decimal precoCusto,
            decimal precoVenda,
            bool ativo,
            ProdutoGrupo produtoGrupo
        )
        {
            Produto atualizarProduto = new Produto(Id, descricao, unidadeDeMedida, codBarras, precoCusto, precoVenda, DateTime.Now, ativo, produtoGrupo);

            _produtoRepositorio.Update(atualizarProduto);
            await _produtoRepositorio.SaveChangesAsync();
        }
コード例 #12
0
        public IActionResult InserirProdutoGrupo([FromBody] ProdutoGrupo objJson)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(400, new RetornoJsonErro(400, "Objeto inválido [Inserir ProdutoGrupo]", null)));
                }
                _repository.ProdutoGrupo.Inserir(objJson);

                return(CreatedAtRoute("ConsultarObjetoProdutoGrupo", new { id = objJson.Id }, objJson));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new RetornoJsonErro(500, "Erro no Servidor [Inserir ProdutoGrupo]", ex)));
            }
        }
コード例 #13
0
        public ProdutoGrupo GetItem(int Id)
        {
            if (Id <= 0)
            {
                throw new Exception("O parâmetro Id deve ser um número inteiro positivo!");
            }

            try
            {
                var _conn = new SqlConnection(_connectionString);

                var _cmdText = " SELECT " +
                               "  PROD_GRUPO_ID, " +
                               "  PROD_GRUPO_DESC, " +
                               "  PROD_GRUPO_ATIVO " +
                               " FROM PRODUTO_GRUPOS " +
                               " WHERE PROD_GRUPO_ID = @PROD_GRUPO_ID ";

                var _cmd = new SqlCommand(_cmdText, _conn);

                _cmd.Parameters.AddWithValue("@PROD_GRUPO_ID", Id);

                var _dt = new DataTable();

                _conn.Open();
                _dt.Load(_cmd.ExecuteReader());
                _conn.Close();

                var _produtoGrupo = new ProdutoGrupo();

                if (_dt.Rows.Count > 0)
                {
                    _produtoGrupo.ProdutoGrupoId = Convert.ToInt32(_dt.Rows[0]["PROD_GRUPO_ID"]);
                    _produtoGrupo.Descricao      = _dt.Rows[0]["PROD_GRUPO_DESC"].ToString();
                    _produtoGrupo.Ativo          = Convert.ToBoolean(_dt.Rows[0]["PROD_GRUPO_ATIVO"]);
                }

                return(_produtoGrupo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #14
0
        static void Main(string[] args)
        {
            var provider = new SessionProvider(); //Uma instancia por banco

            var grupoRepositorio   = new RepositorioBase <ProdutoGrupo>(provider);
            var produtoRepositorio = new ProdutoRepositorio(provider);

            var grupoAlimentacao = new ProdutoGrupo
            {
                Descricao = "Alimentacao"
            };
            var grupoBebidas = new ProdutoGrupo
            {
                Descricao = "Bebidas"
            };

            Console.WriteLine($"CADASTRANDO");
            grupoRepositorio.Insert(grupoAlimentacao);
            grupoRepositorio.Insert(grupoBebidas);

            for (int i = 0; i < 1000; i++)
            {
                produtoRepositorio.Insert(
                    new Produto {
                    Nome       = $"Produto {i:000}",
                    Grupo      = i % 2 == 0 ? grupoAlimentacao : grupoBebidas,
                    PrecoVenda = i + 0.99m
                });
            }
            Console.WriteLine($"CADASTRADO!");

            var bebidas = produtoRepositorio.BuscaPorGrupoAsync(grupoBebidas)
                          .GetAwaiter().GetResult();

            Console.WriteLine($"BEBIDAS");
            foreach (var produto in bebidas)
            {
                Console.WriteLine($"({produto.Id}){produto.Nome}: {produto.PrecoVenda}");
            }

            Console.WriteLine($"Concluido. Pressione qualquer tecla para sair");
            Console.ReadKey();
        }
コード例 #15
0
        public List <ProdutoGrupo> GetAll()
        {
            try
            {
                var _produtoGrupos = new List <ProdutoGrupo>();

                var _conn = new SqlConnection(_connectionString);

                var _cmdText = " SELECT " +
                               "  PROD_GRUPO_ID, " +
                               "  PROD_GRUPO_DESC, " +
                               "  PROD_GRUPO_ATIVO " +
                               " FROM PRODUTO_GRUPOS " +
                               " ORDER BY PROD_GRUPO_DESC ";

                var _cmd = new SqlCommand(_cmdText, _conn);

                var _dt = new DataTable();

                _conn.Open();
                _dt.Load(_cmd.ExecuteReader());
                _conn.Close();

                foreach (DataRow _row in _dt.Rows)
                {
                    var _produtoGrupo = new ProdutoGrupo();

                    _produtoGrupo.ProdutoGrupoId = Convert.ToInt32(_row["PROD_GRUPO_ID"]);
                    _produtoGrupo.Descricao      = _row["PROD_GRUPO_DESC"].ToString();
                    _produtoGrupo.Ativo          = Convert.ToBoolean(_row["PROD_GRUPO_ATIVO"]);

                    _produtoGrupos.Add(_produtoGrupo);
                }

                return(_produtoGrupos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #16
0
 public Produto(int id, string descricao, UnidadeMedida unidadeDeMedida, string codBarras, decimal precoCusto, decimal precoVenda, DateTime dataHoraCadastro, bool ativo, ProdutoGrupo produtoGrupo) : this(descricao, unidadeDeMedida, codBarras, precoCusto, precoVenda, dataHoraCadastro, ativo, produtoGrupo)
 {
     Id = id;
 }
コード例 #17
0
 public static void Map(this ProdutoGrupo objBanco, ProdutoGrupo objJson)
 {
     objBanco.Nome      = objJson.Nome;
     objBanco.Descricao = objJson.Descricao;
 }
コード例 #18
0
 public void Atualizar(ProdutoGrupo grupo)
 {
     _context.Entry <ProdutoGrupo>(grupo).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
 }
コード例 #19
0
 public void Inserir(ProdutoGrupo grupo)
 {
     _context.Grupos.Add(grupo);
 }
コード例 #20
0
        private void btnCadastro_Click(object sender, EventArgs e)
        {
            if (this.Text == "Cadastro Produto - Famíla")
            {
                //VERIFICACAO SE O CAMPOS ESTÃO PREENCHIDOS
                if (txtDesc.Text == "")
                {
                    MessageBox.Show("Preencha o campo Descrição", "CADASTRO DE PRODUTOS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }

                //CRIAR O OBJETO
                ProdutoFamilia produtoFamilia = new ProdutoFamilia();
                produtoFamilia.Descricao = txtDesc.Text;

                //INVOCAR REGRA DE NEGOCIO
                CadastrarProdutoFamilia cadastrarProdutoFamilia = new CadastrarProdutoFamilia();
                String retorno = cadastrarProdutoFamilia.ProdutoGrupoInserir(produtoFamilia);
                try
                {
                    int IDProdFamilia = Convert.ToInt32(retorno);
                    MessageBox.Show("Família cadastrada com sucesso!\n Código:" + IDProdFamilia + "", "CADASTRO FAMÍLIA",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LimparCampos limpa = new LimparCampos();
                    limpa.ClearFields(this);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (this.Text == "Cadastro Produto - Formato")
            {
                ProdutoFormato produtoFormato = new ProdutoFormato();
                produtoFormato.Descricao = txtDesc.Text;
                //VERIFICACAO SE OS CAMPOS ESTÃO PREENCHIDOS
                ValidarCampos validaCampos = new ValidarCampos();
                validaCampos.checaCamposVazios(this);

                CadastrarProdutoFormato cadastrarProdutoFormato = new CadastrarProdutoFormato();
                String retorno = cadastrarProdutoFormato.ProdutoFormatoInserir(produtoFormato);
                try
                {
                    int IDProdFomato = Convert.ToInt32(retorno);
                    MessageBox.Show("Formato cadastrado com sucesso!\n Código:" + IDProdFomato + "", "CADASTRO FORMATO",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LimparCampos limpa = new LimparCampos();
                    limpa.ClearFields(this);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (this.Text == "Cadastro Produto - Grupo")
            {
                ProdutoGrupo produtoGrupo = new ProdutoGrupo();
                produtoGrupo.Descricao = txtDesc.Text;
                //VERIFICACAO SE OS CAMPOS ESTÃO PREENCHIDOS
                ValidarCampos validaCampos = new ValidarCampos();
                validaCampos.checaCamposVazios(this);
                CadastrarProdutoGrupo cadastrarProdutoGrupo = new CadastrarProdutoGrupo();
                String retorno = cadastrarProdutoGrupo.ProdutoGrupoInserir(produtoGrupo);
                try
                {
                    int IDProdGrupo = Convert.ToInt32(retorno);
                    MessageBox.Show("Formato cadastrado com sucesso!\n Código:" + IDProdGrupo + "", "CADASTRO FORMATO",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LimparCampos limpa = new LimparCampos();
                    limpa.ClearFields(this);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (this.Text == "Cadastro Produto - Tipo")
            {
                ProdutoTipo produtoTipo = new ProdutoTipo();
                produtoTipo.DescricaoProdutoTipo = txtDesc.Text;
                //VERIFICACAO SE OS CAMPOS ESTÃO PREENCHIDOS
                ValidarCampos validaCampos = new ValidarCampos();
                validaCampos.checaCamposVazios(this);

                CadastrarProdutoTipo cadastrarProdutoTipo = new CadastrarProdutoTipo();
                String retorno = cadastrarProdutoTipo.ProdutoTipoInserir(produtoTipo);
                try
                {
                    int IDProdTipo = Convert.ToInt32(retorno);
                    MessageBox.Show("Tipo cadastrado com sucesso!\n Código:" + IDProdTipo + "", "CADASTRO TIPO",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LimparCampos limpa = new LimparCampos();
                    limpa.ClearFields(this);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (this.Text == "Cadastro Produto - Produto")
            {
                //VERIFICACAO SE OS CAMPOS ESTÃO PREENCHIDOS
                ValidarCampos validaCampos = new ValidarCampos();
                validaCampos.checaCamposVazios(this);
                //CRIA NOVO OBJETO PRODUTO
                Produto produto = new Produto();
                produto.CodRomanel                             = Convert.ToInt32(txtCodRom.Text);
                produto.DataCadastro                           = dtpDataCad.Value;
                produto.DescricaoDetalhada                     = txtDesc.Text;
                produto.ProdFamila.IdProdutoFamilia            = Convert.ToInt32(cbxFam.Text);
                produto.ProdFormato.IdProdutoFormato           = Convert.ToInt32(cbxFormato.Text);
                produto.ProdGrupo.IdProdutoGrupo               = Convert.ToInt32(cbxGrupo.Text);
                produto.ProdTipo.IDProdutoTipo                 = Convert.ToInt32(cbxTipo.Text);
                produto.PrecocomrpaVenda.PrecoCompra           = Convert.ToDecimal(txtVlrComp.Text);
                produto.PrecocomrpaVenda.PercentualLucroCompra = Convert.ToDecimal(txtPercLuc.Text);
                produto.PrecocomrpaVenda.PrecoDeVenda          = Convert.ToDecimal(txtVlrVenda.Text);
                //INVOCA A REGRA DE NEGOCIO PARA CADASTRAR PRPDUTO
                CadastrarProduto cadastrarProduto = new CadastrarProduto();
                String           retorno          = cadastrarProduto.ProdutoInserir(produto);
                try
                {
                    int IDProduto = Convert.ToInt32(retorno);
                    MessageBox.Show("Produto cadastrado com sucesso!\n Código:" + IDProduto + "", "CADASTRO Produto",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LimparCampos limpa = new LimparCampos();
                    limpa.ClearFields(this);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                MessageBox.Show("Não foi possível realizar o cadastro!", "CADASTRO PRODUTO", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }