コード例 #1
0
        public void EditarProduto(ProdutoDTO produto)
        {
            //Criamos um StringBuilder para construir nossa query (consulta SQL)
            StringBuilder sqlStringBuilder = new StringBuilder();

            //Criamos a transacao propriamente dita
            sqlStringBuilder.AppendLine("UPDATE Produto");
            sqlStringBuilder.AppendLine("SET");
            sqlStringBuilder.AppendLine("  Nome = @Nome,");
            sqlStringBuilder.AppendLine("  Descricao = @Descricao,");
            sqlStringBuilder.AppendLine("  Preco = @Preco,");
            sqlStringBuilder.AppendLine("  TipoProdutoId = @TipoProdutoId");
            sqlStringBuilder.AppendLine("WHERE");
            sqlStringBuilder.AppendLine("  ProdutoId = @ProdutoId");

            //Cria-se uma instância da classe de conexão para poder executar a transacao
            var conector = new ConectorDAL();

            //Criamos uma lista de parâmetros SQL para serem enviados junto com a transação - por razões de segurança é nesses parâmetros que inseriremos os valores
            List <DbParameter> sqlParametros = new List <DbParameter>();

            //Acrescentamos cada um dos parâmetros listados na consulta à lista
            sqlParametros.Add(conector.CriarParametro("@Nome", produto.Nome));
            sqlParametros.Add(conector.CriarParametro("@Descricao", produto.Descricao));
            sqlParametros.Add(conector.CriarParametro("@Preco", produto.Preco));
            sqlParametros.Add(conector.CriarParametro("@TipoProdutoId", produto.TipoProdutoId));
            sqlParametros.Add(conector.CriarParametro("@ProdutoId", produto.ProdutoId));

            //Abrimos uma nova conexão com o banco de dados utilizando o conector
            using (var conexao = conector.GetConexaoAberta())
            {
                //Executamos a transacao propriamente dita no banco de dados
                conector.ExecutarTransacao(conexao, sqlStringBuilder.ToString(), CommandType.Text, sqlParametros);
            }
        }
コード例 #2
0
        /// <summary> Obtém a lista de Tipos de Produtos salvos no sistema. </summary>
        /// <returns> A lista de produtos salvos no sistema. </returns>
        public IList <TipoProdutoDTO> GetTiposProduto()
        {
            //Definimos a query que iremos executar
            string sqlString = "SELECT * FROM TipoProduto";

            //Cria-se uma instância da classe de conexão
            var conector = new ConectorDAL();

            //Abrimos uma nova conexão com o banco de dados utilizando o conector
            using (var conexao = conector.GetConexaoAberta())
            {
                //Executamos a query e salvamos o resultado
                using (var dataReader = conector.ExecutarConsulta(conexao, sqlString.ToString()))
                {
                    //Criamos uma nova lista de tipos de produto que receberá o resultado da consulta
                    var listaTiposProduto = new List <TipoProdutoDTO>();
                    //Enquanto ainda não tivermos lido todos os elementos do dataReader
                    while (dataReader.Read())
                    {
                        //Criamos um novo produto
                        var tipoProduto = new TipoProdutoDTO()
                        {
                            //Lemos o valor das colunas do dataReader atual (tupla atual) e passamos como propriedades do novo tipo de roduto
                            TipoProdutoId = Convert.ToInt32(dataReader["TipoProdutoId"]),
                            Descricao     = dataReader["Descricao"].ToString(),
                        };
                        //Acrescenta o produto novo à lista
                        listaTiposProduto.Add(tipoProduto);
                    }
                    //Retorna a lista de produtos com os valores que estavam salvos no Banco
                    return(listaTiposProduto);
                }
            }
        }
コード例 #3
0
        /// <summary> Obtém um Tipo de Produto específico de acordo com sua ID. </summary>
        /// <param name="tipoProdutoId"> O ID do produto que será retornado. </param>
        /// <returns> O TipoProduto salvo no sistema que possui aquela ID </returns>
        public TipoProdutoDTO GetTipoProduto(int tipoProdutoId)
        {
            //Criação da string builder que montará nossa consulta
            var sqlStringBuilder = new StringBuilder();

            //Montamos a query que iremos executar
            sqlStringBuilder.AppendLine("SELECT * FROM TipoProduto");
            sqlStringBuilder.AppendLine("WHERE TipoProdutoId = @TipoProdutoId");

            //Cria-se uma instância da classe de conexão
            var conector = new ConectorDAL();

            //Abrimos uma nova conexão com o banco de dados utilizando o conector
            using (var conexao = conector.GetConexaoAberta())
            {
                //Criação da lista de parâmetros
                var listaParametros = new List <DbParameter>();
                listaParametros.Add(conector.CriarParametro("@TipoProdutoId", tipoProdutoId));

                //Executamos a query e salvamos o resultado
                using (var dataReader = conector.ExecutarConsulta(conexao, sqlStringBuilder.ToString(), CommandType.Text, listaParametros))
                {
                    TipoProdutoDTO tipoProduto = null;
                    //Enquanto ainda não tivermos lido todos os elementos do dataReader
                    while (dataReader.Read())
                    {
                        //Criamos um novo produto
                        tipoProduto = new TipoProdutoDTO()
                        {
                            //Lemos o valor das colunas do dataReader atual (tupla atual) e passamos como propriedades do novo tipo de roduto
                            TipoProdutoId = Convert.ToInt32(dataReader["TipoProdutoId"]),
                            Descricao     = dataReader["Descricao"].ToString(),
                        };
                    }
                    //Retorna a lista de produtos com os valores que estavam salvos no Banco
                    return(tipoProduto);
                }
            }
        }