public static bool GuardarProducto(Producto p) { string sql; if (p is ProductoA) { ProductoA pA = (ProductoA)p; sql = string.Format("INSERT INTO Productos (descripcion,tipo,diametro,material) VALUES('{0}','A','{1}','{2}')", pA.Descripcion, pA.Diametro, pA.Material.ToString()); } else { ProductoB pB = (ProductoB)p; sql = string.Format("INSERT INTO Productos (descripcion,tipo,alto,ancho,largo) VALUES('{0}','B','{1}','{2}')", pB.Descripcion, pB.Alto, pB.Ancho, pB.Largo); } return(EjecutarNonQuery(sql)); }
public static List <Producto> ObtenerProductos() { List <Producto> lista = new List <Producto>(); Producto p = null; ProductoDAO.comando.CommandText = "SELECT * FROM productos"; ProductoDAO.conexion.Open(); SqlDataReader oDr = ProductoDAO.comando.ExecuteReader(); while (oDr.Read()) { string tipo = oDr["tipo"].ToString(); if (tipo == "A") { Material mat = Material.Alumino; switch (oDr["material"].ToString()) { case "Plastico": mat = Material.Plastico; break; case "Aluminio": mat = Material.Alumino; break; case "Caucho": mat = Material.Caucho; break; } p = new ProductoA(oDr["descripcion"].ToString(), short.Parse(oDr["diametro"].ToString()), mat); lista.Add(p); } else { p = new ProductoB(oDr["descripcion"].ToString(), short.Parse(oDr["largo"].ToString()), short.Parse(oDr["ancho"].ToString()), short.Parse(oDr["alto"].ToString())); lista.Add(p); } } return(lista); }
public void Elaborar() { ProductoDAO miProdDAO = new ProductoDAO(); ProductoA miProdA = new ProductoA(); ProductoB miProdB = new ProductoB(); if (this.GetType() == typeof(ProductoA)) { miProdA = (ProductoA)this; miProdDAO.GuardarProducto(miProdA); InformarProductoTerminado.Invoke(miProdA, new EventArgs()); } else { miProdB = (ProductoB)this; miProdDAO.GuardarProducto(miProdB); InformarProductoTerminado.Invoke(miProdB, new EventArgs()); } }
public List <Producto> ObtenerProducto() { List <Producto> productos = new List <Producto>(); try { Material auxMaterial = Material.Aluminio; string query; query = "SELECT * FROM dbo.Productos"; _comando.CommandText = query; _comando.CommandType = System.Data.CommandType.Text; _comando.Connection = _conexion; _conexion.Open(); SqlDataReader data = _comando.ExecuteReader(); while (data.Read()) { if (string.Compare(data["material"].ToString(), Material.Aluminio.ToString()) == 0) { auxMaterial = Material.Aluminio; } else if (string.Compare(data["material"].ToString(), Material.Caucho.ToString()) == 0) { auxMaterial = Material.Caucho; } else if (string.Compare(data["material"].ToString(), Material.Plastico.ToString()) == 0) { auxMaterial = Material.Caucho; } if (data["tipo"].ToString() == "A") { ProductoA miProdA = new ProductoA { Descripcion = Convert.ToString(data["descripcion"]), Diametro = Convert.ToInt16(data["diametro"]), Material = auxMaterial }; productos.Add(miProdA); } else if (data["tipo"].ToString() == "B") { ProductoB miProdB = new ProductoB(Convert.ToString(data["descripcion"]), Convert.ToInt16(data["alto"]), Convert.ToInt16(data["ancho"]), Convert.ToInt16(data["largo"])); productos.Add(miProdB); } } return(productos); } catch (SqlException exSQL) { throw exSQL; } catch (Exception ex) { throw ex; } finally { _conexion.Close(); } }