Está en la página 1de 4

using using using using using using using using

System; System.Collections; System.Collections.Generic; System.Linq; System.Text; System.Data; System.Data.SqlClient; Entidades_Compartidas;

namespace PFWinDAL { public class DatosProductos { //public const string conexion localhost\\SQLEXPRESS; initial catalog security = SSPI"; public const string conexion = = ProyectoFinal; integrated security =

= "Data source = = ProyectoFinal; integrated "Data source = .; initial catalog SSPI";

public void AgregarProducto(Producto p) { SqlConnection cnn = new SqlConnection(conexion); SqlCommand cmd = new SqlCommand("AgregarProductos", cnn); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter idprod = new SqlParameter("@IdProducto", p.IDPRODUCTO); SqlParameter activo = new SqlParameter("@Activo", p.ACTIVO); SqlParameter compuesto = new SqlParameter("@Compuesto", p.COMPUESTO); SqlParameter descripcion = new SqlParameter("@Descripcion", p.DESCRIPCION); SqlParameter nombre = new SqlParameter("@Nombre", p.NOMBRE); SqlParameter precio = new SqlParameter("@Precio", p.PRECIO); SqlParameter stock = new SqlParameter("@Stock", p.STOCK); SqlParameter stockmin = new SqlParameter("@StockMin", p.STOCKMINIMO); SqlParameter urlimage = new SqlParameter("@UrlImagen", p.URLIMG); cmd.Parameters.Add(idprod); cmd.Parameters.Add(activo); cmd.Parameters.Add(compuesto); cmd.Parameters.Add(descripcion); cmd.Parameters.Add(nombre); cmd.Parameters.Add(precio); cmd.Parameters.Add(stock); cmd.Parameters.Add(stockmin); cmd.Parameters.Add(urlimage); cnn.Open(); cmd.ExecuteNonQuery(); AgregarCategoriaProducto(p.CATEGORIAS, p.IDPRODUCTO); foreach (DictionaryEntry item in p.PRODUCTOS) { string idProdSimp = (string)item.Key; int cantidad = (int)item.Value;

AgregarProductoCompuesto(p.IDPRODUCTO, idProdSimp, cantidad); } } public void AgregarProductoCompuesto(string idComp, string idSimp, int cantidad) { SqlConnection cnn = new SqlConnection(conexion); SqlCommand cmd = new SqlCommand("AgregarProductoCompuesto", cnn); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter idprod = new SqlParameter("@Id_Producto", idComp); SqlParameter idsimp = new SqlParameter("@IdProdSimple", idSimp); SqlParameter canti = new SqlParameter("@Cantidad", cantidad); cmd.Parameters.Add(idprod); cmd.Parameters.Add(idsimp); cmd.Parameters.Add(canti); cnn.Open(); cmd.ExecuteNonQuery(); } public int ObtenerId(Producto p) { SqlConnection cnn = new SqlConnection(conexion); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("Select * from AuxIdProducto", cnn); da.Fill(dt); int i = 1; if (dt.Rows.Count > 0) { DataRow dr = (DataRow)dt.Rows[dt.Rows.Count - 1]; //selecciona ultima fila i = int.Parse(dr["UltimoNumIdProducto"].ToString()); SqlCommand cmd = new SqlCommand("AgregarAux", cnn); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter idProducto = new SqlParameter("@UltimoNumIdProducto", i + 1); cmd.Parameters.Add(idProducto); cnn.Open(); cmd.ExecuteNonQuery(); } else { SqlCommand cmd = new SqlCommand("AgregarAux", cnn); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter idProducto = new SqlParameter("@UltimoNumIdProducto", 2); cmd.Parameters.Add(idProducto); cnn.Open(); cmd.ExecuteNonQuery();

} return i; } private void AgregarCategoriaProducto(ArrayList list, string idproducto) { SqlConnection cnn = new SqlConnection(conexion); foreach (Categorias c in list) { SqlCommand cmd = new SqlCommand("AgregarCategoriaProducto", cnn); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter idprod = new SqlParameter("@IdProducto", idproducto); SqlParameter idcat = new SqlParameter("@IdCategoria", c.IDCATEGORIA); cmd.Parameters.Add(idprod); cmd.Parameters.Add(idcat); cnn.Open(); cmd.ExecuteNonQuery(); cnn.Close(); } } public void ModificarProducto(Producto p) { SqlConnection cnn = new SqlConnection(conexion); SqlCommand cmd = new SqlCommand("ModificarProductos", cnn); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter idprod = new SqlParameter("@IdProducto", p.IDPRODUCTO); SqlParameter activo = new SqlParameter("@Activo", p.ACTIVO); SqlParameter compuesto = new SqlParameter("@Compuesto", p.COMPUESTO); SqlParameter descripcion = new SqlParameter("@Descripcion", p.DESCRIPCION); SqlParameter nombre = new SqlParameter("@NProducto", p.NOMBRE); SqlParameter precio = new SqlParameter("@Precio", p.PRECIO); SqlParameter stock = new SqlParameter("@Stock", p.STOCK); SqlParameter stockmin = new SqlParameter("@StockMin", p.STOCKMINIMO); SqlParameter urlimage = new SqlParameter("@UrlImagen", p.URLIMG); cmd.Parameters.Add(idprod); cmd.Parameters.Add(activo); cmd.Parameters.Add(compuesto); cmd.Parameters.Add(descripcion); cmd.Parameters.Add(nombre); cmd.Parameters.Add(precio); cmd.Parameters.Add(stock); cmd.Parameters.Add(stockmin); cmd.Parameters.Add(urlimage); cnn.Open(); cmd.ExecuteNonQuery();

} public Producto BuscarProducto(string idprod) { SqlConnection cnn = new SqlConnection(conexion); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("Select * from Productos Where IdProducto = '" + idprod + "' and activo = 1", cnn); da.Fill(dt); Producto p = new Producto(); if (dt.Rows.Count > 0) { DataRow dr = (DataRow)dt.Rows[0]; p.ACTIVO = bool.Parse(dr["Activo"].ToString()); p.COMPUESTO = bool.Parse(dr["Compuesto"].ToString()); p.DESCRIPCION = dr["Descripcion"].ToString(); p.IDPRODUCTO = dr["IdProducto"].ToString(); p.NOMBRE = dr["NProducto"].ToString(); p.PRECIO = int.Parse(dr["Precio"].ToString()); p.STOCK = int.Parse(dr["Stock"].ToString()); p.STOCKMINIMO = int.Parse(dr["StockMin"].ToString()); p.URLIMG = dr["UrlImagen"].ToString(); p.PRODUCTOS = null; } return p; } public DataTable ListaStockMinimo() { SqlConnection cnn = new SqlConnection(conexion); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("Select * from Productos Where StockMin >= Stock", cnn); da.Fill(dt); return dt; } public DataTable ListarProductos() { SqlConnection cnn = new SqlConnection(conexion); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("Select * from Productos", cnn); da.Fill(dt); return dt; } public DataTable ListaProductosSimples() { SqlConnection cnn = new SqlConnection(conexion); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("Select * from Productos Where Compuesto = 'False'", cnn); da.Fill(dt); return dt; } } }

También podría gustarte