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); } }
/// <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); } } }
/// <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); } } }