//obtener datos para el datagrid de encabezado de movimiento
        public List <MovimientoEncabezado> llenarDGVMovimientoEncabezado()
        {
            SQL_TipoMovimiento          tipoMovimiento           = new SQL_TipoMovimiento();
            List <MovimientoEncabezado> movimientoEncabezadoList = new List <MovimientoEncabezado>();

            try
            {
                string sComando = string.Format("SELECT ID_MOVIMIENTO_INVENTARIO_ENCABEZADO, NOMBRE_MOVIMIENTO, ID_TIPO_MOVIMIENTO, ESTADO " +
                                                "FROM movimientos_inventario_encabezado;");

                OdbcDataReader reader = transaccion.ConsultarDatos(sComando);

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        MovimientoEncabezado movimientoEncabezadoTmp = new MovimientoEncabezado();
                        movimientoEncabezadoTmp.ID_MOVIMIENTO_ENCABEZADO = reader.GetInt32(0);
                        movimientoEncabezadoTmp.NOMBRE_MOVIMIENTO        = reader.GetString(1);
                        movimientoEncabezadoTmp.TIPO_MOVIMIENTO          = tipoMovimiento.obtenerTipoMovimiento(reader.GetInt32(2));
                        movimientoEncabezadoTmp.ESTADO = reader.GetInt32(3);
                        movimientoEncabezadoList.Add(movimientoEncabezadoTmp);
                    }
                }
                return(movimientoEncabezadoList);
            }
            catch (OdbcException ex)
            {
                mensaje = new Mensaje("Error en la operacion con la Base de Datos: \n" + ex.Message);
                mensaje.Show();
                return(null);
            }
        }
        //devuelve los datos del movimiento por encabezado
        public string[] datosMovimiento(int encabezado)
        {
            sql_MovimientoEncabezado = new SQL_MovimientoEncabezado();

            movimientoEncabezado = sql_MovimientoEncabezado.obtenerMovimientoEncabezado(encabezado);

            string[] datos =
            {
                movimientoEncabezado.ID_MOVIMIENTO_ENCABEZADO.ToString(),
                movimientoEncabezado.TIPO_MOVIMIENTO.NOMBRE_TIPO_MOVIMIENTO,
                movimientoEncabezado.NOMBRE_MOVIMIENTO,
                movimientoEncabezado.DESCRIPCION_MOVIMIENTO,
                movimientoEncabezado.FECHA_MOVIMIENTO.ToString(),
                movimientoEncabezado.ESTADO.ToString()
            };

            return(datos);
        }
        //obtener un solo movimiento encabezado
        public MovimientoEncabezado obtenerMovimientoEncabezado(int id_movimiento_inventario_encabezado)
        {
            SQL_TipoMovimiento   tipoMovimiento       = new SQL_TipoMovimiento();
            MovimientoEncabezado movimientoEncabezado = new MovimientoEncabezado();

            try
            {
                string sComando = string.Format("" +
                                                "SELECT " +
                                                "ID_MOVIMIENTO_INVENTARIO_ENCABEZADO, " +
                                                "ID_TIPO_MOVIMIENTO, " +
                                                "NOMBRE_MOVIMIENTO, " +
                                                "DESCRIPCION_MOVIMIENTO, " +
                                                "FECHA_MOVIMIENTO, " +
                                                "ESTADO " +
                                                "FROM movimientos_inventario_encabezado " +
                                                "WHERE ID_MOVIMIENTO_INVENTARIO_ENCABEZADO = {0}; ",
                                                id_movimiento_inventario_encabezado);

                OdbcDataReader reader = transaccion.ConsultarDatos(sComando);

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        movimientoEncabezado.ID_MOVIMIENTO_ENCABEZADO = reader.GetInt32(0);
                        movimientoEncabezado.TIPO_MOVIMIENTO          = tipoMovimiento.obtenerTipoMovimiento(reader.GetInt32(1));
                        movimientoEncabezado.NOMBRE_MOVIMIENTO        = reader.GetString(2);
                        movimientoEncabezado.DESCRIPCION_MOVIMIENTO   = reader.GetString(3);
                        movimientoEncabezado.FECHA_MOVIMIENTO         = reader.GetDate(4);
                        movimientoEncabezado.ESTADO = reader.GetInt32(5);
                    }
                }
                return(movimientoEncabezado);
            }
            catch (OdbcException ex)
            {
                mensaje = new Mensaje("Error en la operacion con la Base de Datos: \n" + ex.Message);
                mensaje.Show();
                return(null);
            }

            return(null);
        }