예제 #1
0
        public DataTable BuscarP(Dproducto parCategorias)
        {
            DataTable     TablaDatos  = new DataTable("Produccion.Producto");
            SqlConnection SqlConexion = new SqlConnection();

            try
            {
                SqlConexion.ConnectionString = Conexion.cn;
                SqlConexion.Open();

                SqlCommand SqlComando = new SqlCommand();
                SqlComando.Connection  = SqlConexion;
                SqlComando.CommandText = "Produccion.BuscarProducto";
                SqlComando.CommandType = CommandType.StoredProcedure;

                SqlParameter ParNombre_Buscado = new SqlParameter();
                ParNombre_Buscado.ParameterName = "@nombreproducto";
                ParNombre_Buscado.SqlDbType     = SqlDbType.VarChar;
                ParNombre_Buscado.Size          = parCategorias.NombreP.Length;
                ParNombre_Buscado.Value         = parCategorias.NombreP;
                SqlComando.Parameters.Add(ParNombre_Buscado);

                SqlDataAdapter SqlAdaptadorDatos = new SqlDataAdapter(SqlComando);
                SqlAdaptadorDatos.Fill(TablaDatos);
            }

            catch (Exception ex)
            {
                TablaDatos = null;
                throw new Exception("Error al intentar ejecutar el procedimiento almacenado Produccion.BuscarProducto. " + ex.Message, ex);
            }

            finally
            {
                if (SqlConexion.State == ConnectionState.Open)
                {
                    SqlConexion.Close();
                }
            }

            return(TablaDatos);
        }
예제 #2
0
        public string Editar(Dproducto producto)
        {
            string        rsp    = "";
            SqlConnection sqlcon = new SqlConnection();

            try
            {
                sqlcon.ConnectionString = Conexion.cn;
                sqlcon.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = sqlcon;
                cmd.CommandText = "Produccion.EditarProducto";
                cmd.CommandType = CommandType.StoredProcedure;

                /*psar parametro*/
                SqlParameter paridprov = new SqlParameter();
                paridprov.ParameterName = "@idproveedor";
                paridprov.SqlDbType     = SqlDbType.Int;
                paridprov.Value         = producto.Idproveedor;
                cmd.Parameters.Add(paridprov);


                SqlParameter paridc = new SqlParameter();
                paridc.ParameterName = "@idcategoria";
                paridc.SqlDbType     = SqlDbType.Int;
                paridc.Value         = producto.Idcategoria;
                cmd.Parameters.Add(paridc);


                SqlParameter parnomp = new SqlParameter();
                parnomp.ParameterName = "@nombreprod";
                parnomp.SqlDbType     = SqlDbType.VarChar;
                parnomp.Size          = producto.NombreP.Length;
                parnomp.Value         = producto.NombreP;
                cmd.Parameters.Add(parnomp);

                SqlParameter parpreccomp = new SqlParameter();
                parpreccomp.ParameterName = "@preciocompra";
                parpreccomp.SqlDbType     = SqlDbType.SmallMoney;
                parpreccomp.Value         = producto.Preciocompra;
                cmd.Parameters.Add(parpreccomp);


                SqlParameter parstock = new SqlParameter();
                parstock.ParameterName = "@stock";
                parstock.SqlDbType     = SqlDbType.Decimal;
                parstock.Value         = producto.Stock;
                cmd.Parameters.Add(parstock);

                SqlParameter parreposicion = new SqlParameter();
                parreposicion.ParameterName = "@preposicion";
                parreposicion.SqlDbType     = SqlDbType.Decimal;
                parreposicion.Value         = producto.Puntreposi;
                cmd.Parameters.Add(parreposicion);

                SqlParameter parmarca = new SqlParameter();
                parmarca.ParameterName = "@marca";
                parmarca.SqlDbType     = SqlDbType.VarChar;
                parmarca.Size          = producto.Marca.Length;
                parmarca.Value         = producto.Marca;
                cmd.Parameters.Add(parmarca);

                SqlParameter parunimedid = new SqlParameter();
                parunimedid.ParameterName = "@umedida";
                parunimedid.SqlDbType     = SqlDbType.VarChar;
                parunimedid.Size          = producto.Unidmedida.Length;
                parunimedid.Value         = producto.Unidmedida;
                cmd.Parameters.Add(parunimedid);

                SqlParameter parestad = new SqlParameter();
                parestad.ParameterName = "@estado";
                parestad.SqlDbType     = SqlDbType.VarChar;
                parestad.Size          = producto.Estado.Length;
                parestad.Value         = producto.Estado;
                cmd.Parameters.Add(parestad);

                SqlParameter parimag = new SqlParameter();
                parimag.ParameterName = "@imagen";
                parimag.SqlDbType     = SqlDbType.Image;
                parimag.Size          = producto.Imagen.Length;
                parimag.Value         = producto.Imagen;
                cmd.Parameters.Add(parimag);

                SqlParameter parfvenc = new SqlParameter();
                parfvenc.ParameterName = "@fvencimiento";
                parfvenc.SqlDbType     = SqlDbType.Date;
                parfvenc.Value         = producto.Fvencimiento;
                cmd.Parameters.Add(parfvenc);

                SqlParameter parprecunit = new SqlParameter();
                parprecunit.ParameterName = "@preciounitario";
                parprecunit.SqlDbType     = SqlDbType.SmallMoney;
                parprecunit.Value         = producto.Preciounitario;
                cmd.Parameters.Add(parprecunit);

                SqlParameter pardesc = new SqlParameter();
                pardesc.ParameterName = "@descrip";
                pardesc.SqlDbType     = SqlDbType.VarChar;
                pardesc.Size          = producto.Descripcion.Length;
                pardesc.Value         = producto.Descripcion;
                cmd.Parameters.Add(pardesc);

                cmd.ExecuteNonQuery();
                rsp = "Y";
            }


            catch (SqlException ex)
            {
                if (ex.Number == 8152)
                {
                    rsp = "Has introducido demasiados caracteres en uno de los campos.";
                }
                else if (ex.Number == 2627)
                {
                    rsp = "Ya existe un Producto con ese Nombre.";
                }
                else if (ex.Number == 515)
                {
                    rsp = "No puedes dejar el campo Nombre vacío.";
                }
                else
                {
                    rsp = "Error al intentar ejecutar el procedimiento almacenado Produccion.EditarProducto. " + ex.Message;
                }
            }

            finally
            {
                if (sqlcon.State == ConnectionState.Open)
                {
                    sqlcon.Close();
                }
            }

            return(rsp);
        }