public List<ItemEstoque> dbListarItemsEstoque() { List<ItemEstoque> estoque = new List<ItemEstoque>(); string queryString = "SELECT * from STOCK ST"; queryString += " INNER JOIN PRODUCTS PR"; queryString += " ON ST.STOCK_ITEM_PRODUCT_ID = PR.PRODUCT_ID"; queryString += " INNER JOIN CATEGORIES CA"; queryString += " ON PR.PRODUCT_CATEGORY_ID = CA.CATEGORY_ID"; using (SqlConnection connection = new SqlConnection(conStr)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { ItemEstoque item = new ItemEstoque(); item.ID = Convert.ToInt32(reader["STOCK_ITEM_ID"]); //PRODUTO item.Produto = new Produto(); item.Produto.ID = Convert.ToInt32(reader["STOCK_ITEM_PRODUCT_ID"]); item.Produto.Nome = reader["PRODUCT_NAME"].ToString(); item.Produto.Descricao = reader["PRODUCT_DESCRIPTION"].ToString(); item.Produto.CaminhoImagem = reader["PRODUCT_IMAGEPATH"].ToString(); item.Produto.Preco = Convert.ToDecimal(reader["PRODUCT_PRICE"]); //PRODUTO_CATEGORIA item.Produto.Categoria = new Categoria(); item.Produto.Categoria.ID = Convert.ToInt32(reader["PRODUCT_CATEGORY_ID"]); item.Produto.Categoria.Nome = reader["CATEGORY_NAME"].ToString(); item.Status = reader["STOCK_ITEM_STATUS"].ToString(); estoque.Add(item); } return estoque; } catch (Exception ex) { throw new Exception(ex.Message); } } }
//Retorna o objeto Carrinho com o ID passado public Carrinho dbObterCarrinho(int cartId) { Carrinho carrinho = new Carrinho(); carrinho.Produtos = new List<ItemEstoque>(); try { using (SqlConnection connection = new SqlConnection(conStr)) { connection.Open(); SqlCommand command = new SqlCommand("ecSP_CART_INFO", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(new SqlParameter("@CARTID", cartId)); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { //ID carrinho.ID = Convert.ToInt32(reader["CART_ID"]); //DATA carrinho.DataCriacao = Convert.ToDateTime(reader["CART_CREATION_DATE"]); //Status carrinho.Status = reader["CART_STATUS"].ToString(); //Se o carrinho tem um usuario atrelado a ele if (reader["USER_ID"] != DBNull.Value) { carrinho.Usuario = new Usuario(); carrinho.Usuario.ID = Convert.ToInt32(reader["USER_ID"]); carrinho.Usuario.Nome = reader["USER_NAME"].ToString(); carrinho.Usuario.Email = reader["USER_EMAIL"].ToString(); //TODO: COLOCAR O RESTO DAS PROPRIEDADES } //Se o carrinho tem items... if (reader["STOCK_ITEM_ID"] != DBNull.Value) { ItemEstoque item = new ItemEstoque(); item.ID = Convert.ToInt32(reader["STOCK_ITEM_ID"]); item.Status = reader["STOCK_ITEM_STATUS"].ToString(); //Produto item.Produto = new Produto(); item.Produto.ID = Convert.ToInt32(reader["PRODUCT_ID"]); item.Produto.Nome = reader["PRODUCT_NAME"].ToString(); item.Produto.Descricao = reader["PRODUCT_DESCRIPTION"].ToString(); item.Produto.CaminhoImagem = reader["PRODUCT_IMAGEPATH"].ToString(); item.Produto.Preco = Convert.ToDecimal(reader["PRODUCT_PRICE"]); //Categoria item.Produto.Categoria = new Categoria(); item.Produto.Categoria.ID = Convert.ToInt32(reader["CATEGORY_ID"]); item.Produto.Categoria.Nome = reader["CATEGORY_NAME"].ToString(); item.Produto.Categoria.Descricao = reader["CATEGORY_DESCRIPTION"].ToString(); //ADICIONA À LISTA DE PRODUTOS carrinho.Produtos.Add(item); } } return carrinho; } } catch (Exception ex) { throw new Exception("UsuarioDAL - ObterUsuario: " + ex.Message); } }