public static List <Registro> ListaRegistros()
        {
            try
            {
                List <Registro> Registros = new List <Registro>();
                Registro        registroX;
                Conexion        con = new Conexion();


                string sql = "select * from registro";
                var    cmd = new MySqlCommand(sql, con.Connection);
                var    dr  = cmd.ExecuteReader();

                while (dr.Read())
                {
                    registroX             = new Registro();
                    registroX.Id_Registro = dr.GetInt32("id_registro");
                    registroX.FechaHora   = dr.GetString("fechahora");
                    registroX.Observacion = dr.GetString("observacion");
                    registroX.Resultado   = dr.GetString("resultado");
                    registroX.Deuda       = DeudaABM.DeudaPorDniCuit(dr.GetString("dni"), dr.GetString("cuit"));
                    registroX.Usuario     = UsuarioABM.UsuarioPorId(dr.GetString("id_usuario"));
                    Registros.Add(registroX);
                }
                dr.Close();
                con.Close();

                return(Registros);
            }
            catch (Exception ex)
            {
                logger.Error(ex.ToString(), "Error al cargar registro.");
                return(null);
            }
        }
 /// <summary>
 /// Busca registros por el atributo indicado y su correspondiente valor. Ej: RegsitroPorAtributo(Dni,25655846)
 /// </summary>
 /// <param name="atributo">Atributo puede tomar: dni, cuit, usuario</param>
 /// <param name="valor">valor de dicho atributo</param>
 /// <returns>Lista de registros</returns>
 public static List <Registro> RegistrosPorAtributo(string atributo, string valor)
 {
     try
     {
         List <Registro> Registros = new List <Registro>();
         Registro        registroX;
         List <Usuario>  Prueba;
         if (atributo == "usuario")
         {
             Prueba = UsuarioABM.UsuarioPorNombre(valor);
             Conexion con = new Conexion();
             for (int i = 0; i < Prueba.Count; i++)
             {
                 string sql = @"SELECT * FROM registro WHERE id_usuario LIKE @Valor";
                 var    cmd = new MySqlCommand(sql, con.Connection);
                 cmd.Parameters.AddWithValue("@Valor", "%" + Prueba[i].Id_usuario + "%");
                 var dr = cmd.ExecuteReader();
                 while (dr.Read())
                 {
                     registroX             = new Registro();
                     registroX.Id_Registro = dr.GetInt32("id_registro");
                     registroX.FechaHora   = dr.GetString("fechaHora");
                     registroX.Observacion = dr.GetString("observacion");
                     registroX.Resultado   = dr.GetString("resultado");
                     registroX.Deuda       = DeudaABM.DeudaPorDniCuit(dr.GetString("dni"), dr.GetString("cuit"));
                     registroX.Usuario     = UsuarioABM.UsuarioPorId(dr.GetString("id_usuario"));
                     Registros.Add(registroX);
                 }
                 dr.Dispose();
                 con.Close();
             }
             return(Registros);
         }
         else
         {
             string   sql;
             Conexion con = new Conexion();
             if (atributo == "dni")
             {
                 sql = "SELECT * FROM registro WHERE dni LIKE @Valor";
             }
             else
             {
                 sql = "SELECT * FROM registro WHERE cuit LIKE @Valor";
             }
             var cmd = new MySqlCommand(sql, con.Connection);
             cmd.Parameters.AddWithValue("@Valor", "%" + valor + "%");
             var dr = cmd.ExecuteReader();
             while (dr.Read())
             {
                 registroX             = new Registro();
                 registroX.Id_Registro = dr.GetInt32("id_registro");
                 registroX.FechaHora   = dr.GetString("fechaHora");
                 registroX.Observacion = dr.GetString("observacion");
                 registroX.Resultado   = dr.GetString("resultado");
                 registroX.Deuda       = DeudaABM.DeudaPorDniCuit(dr.GetString("dni"), dr.GetString("cuit"));
                 registroX.Usuario     = UsuarioABM.UsuarioPorId(dr.GetString("id_usuario"));
                 Registros.Add(registroX);
             }
             dr.Dispose();
             con.Close();
             return(Registros);
         }
     }
     catch (Exception ex)
     {
         logger.Error(ex.ToString(), "Error al Buscar registro de " + atributo + ": " + valor + ".");
         return(null);
     }
 }