예제 #1
0
        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));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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());
            }
        }
예제 #4
0
        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();
            }
        }