public void Update(Usuario usuario)
        {
            SqlConnection oCnn = this.CreateConnection();// Data.Database.Adapter.CreateConnection();
            using (oCnn)
            {
                oCnn.Open();

                SqlCommand oCmd = new SqlCommand();
                using (oCmd)
                {
                    //Buscamos el ID de la persona
                    PersonaAdapter PersonaData = new PersonaAdapter();
                    int id = PersonaData.GetId(usuario.Nombre, usuario.Apellido);

                    oCmd.Connection = oCnn;

                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "usuariosUpdate";
                    /*
                    oCmd.Parameters.Add("@id", SqlDbType.Int).Value = usuario.ID;
                    oCmd.Parameters.Add("@nombre_usuario", SqlDbType.VarChar, 50).Value = usuario.NombreUsuario;
                    oCmd.Parameters.Add("@clave", SqlDbType.VarChar, 50).Value = usuario.Clave;
                    oCmd.Parameters.Add("@habilitado", SqlDbType.Bit).Value = usuario.Habilitado;
                    oCmd.Parameters.Add("@nombre", SqlDbType.VarChar, 50).Value = usuario.Nombre;
                    oCmd.Parameters.Add("@apellido", SqlDbType.VarChar, 50).Value = usuario.Apellido;
                    oCmd.Parameters.Add("@email", SqlDbType.VarChar, 50).Value = usuario.EMail;
                    */
                    try
                    {
                        oCmd.Parameters.AddWithValue("@id_usuario", usuario.ID);
                        oCmd.Parameters.AddWithValue("@nombre_usuario", usuario.NombreUsuario);
                        oCmd.Parameters.AddWithValue("@clave", Util.General.MD5Hash(usuario.Clave));
                        oCmd.Parameters.AddWithValue("@habilitado", usuario.Habilitado);
                        oCmd.Parameters.AddWithValue("@nombre", usuario.Nombre);
                        oCmd.Parameters.AddWithValue("@apellido", usuario.Apellido);
                        oCmd.Parameters.AddWithValue("@email", usuario.EMail);
                        oCmd.Parameters.AddWithValue("@cambia_clave", true);
                        oCmd.Parameters.AddWithValue("@id_persona", id);

                        oCmd.ExecuteNonQuery();
                    }
                    catch (Exception Ex)
                    {
                        Exception ExcepcionManejada = new Exception("Error al actualizar datos del usuario", Ex);
                        throw ExcepcionManejada;
                    }
                }
            }
        }
        public void Insert(Usuario usuario)
        {
            //Creamos la conexión a utilizar.
            SqlConnection oCnn = this.CreateConnection();// Data.Database.Adapter.CreateConnection();
            using (oCnn)
            {
                //abrimos conexion
                oCnn.Open();

                //Creamos un commando para realizar el alta en la base de datos
                SqlCommand oCmd = new SqlCommand();
                using (oCmd)
                {
                    //Buscamos el ID de la persona
                    PersonaAdapter PersonaData = new PersonaAdapter();
                    int id = PersonaData.GetId(usuario.Nombre, usuario.Apellido);

                    //asignamos la conexion que habiamos creado
                    oCmd.Connection = oCnn;

                    //Indicamos que stored procedure vamos a usar
                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "usuariosAdd";

                    //le asignamos los parámetros para el stored procedure

                    try
                    {
                        /*
                        oCmd.Parameters.AddWithValue("@nombre_usuario", usuario.NombreUsuario);
                        oCmd.Parameters.AddWithValue("@clave", usuario.Clave);
                        oCmd.Parameters.AddWithValue("@habilitado", usuario.Habilitado);
                        oCmd.Parameters.AddWithValue("@nombre", usuario.Nombre);
                        oCmd.Parameters.AddWithValue("@apellido", usuario.Apellido);
                        oCmd.Parameters.AddWithValue("@email", usuario.EMail);
                        */
                        oCmd.Parameters.Add("@nombre_usuario", SqlDbType.VarChar, 50).Value = usuario.NombreUsuario;
                        oCmd.Parameters.Add("@clave", SqlDbType.VarChar, 50).Value = Util.General.MD5Hash(usuario.Clave);
                        oCmd.Parameters.Add("@habilitado", SqlDbType.Bit).Value = usuario.Habilitado;
                        oCmd.Parameters.Add("@nombre", SqlDbType.VarChar, 50).Value = usuario.Nombre;
                        oCmd.Parameters.Add("@apellido", SqlDbType.VarChar, 50).Value = usuario.Apellido;
                        oCmd.Parameters.Add("@email", SqlDbType.VarChar, 50).Value = usuario.EMail;
                        oCmd.Parameters.Add("@cambia_clave", SqlDbType.Bit).Value = true;
                        oCmd.Parameters.Add("@id_persona", SqlDbType.Int).Value = id;
                        usuario.ID = Decimal.ToInt32((decimal)oCmd.ExecuteScalar());
                    }
                    catch (Exception Ex)
                    {
                        Exception ExcepcionManejada = new Exception("Error al crear usuario", Ex);
                        throw ExcepcionManejada;
                    }
                }
            }
        }