コード例 #1
0
ファイル: Persona.cs プロジェクト: oslboreal/personsProcessor
 /// <summary>
 /// Recibe una linea respetando la nomenclatura establecida, la parsea y la valida instanciando una nueva persona.
 /// </summary>
 /// <param name="linea">String Cuit;Sexo;Edad</param>
 public Persona(string linea)
 {
     // Split
     string[] words = linea.Split(';');
     try
     {
         // Cuit.
         if (Documentos.CuitEsValido(words[0]))
         {
             this.cuit = words[0];
         }
         else
         {
             throw new Exception("El cuit es inválido.");
         }
         //Edad.
         if (!int.TryParse(words[2], out this.edad))
         {
             throw new Exception("La edad es inválida.");
         }
         // Sexo.
         if (words[1].Equals("M") || words[1].Equals("F"))
         {
             this.sexo = words[1];
         }
         else
         {
             throw new Exception(string.Format("El sexo {0} es inválido para instanciar una persona", words[1]));
         }
     }
     catch (Exception e)
     {
         logRegistro.Error(e, "Error a la hora de instanciar persona.");
     }
 }
コード例 #2
0
 /// <summary>
 /// Recorre una lista de registros y en caos de estar repetidos los elimina y lo registra.
 /// </summary>
 private static void procesarDuplicados()
 {
     try
     {
         var distinct   = Administrador.Personas.GroupBy(x => x.Cuit).Select(g => g.First()).ToList();
         int diferencia = Administrador.Personas.Count - distinct.Count;
         if (diferencia > 0)
         {
             Administrador.Personas          = distinct;
             Administrador.cantidadRepetidos = diferencia;
         }
         registrarAccion(string.Format("Registros duplicados limpiados - Cantidad de duplicados: {0}", Administrador.cantidadRepetidos));
     }
     catch (Exception e)
     {
         logAdministrador.Error(e, "Error a la hora de evaluar los registros repetidos");
     }
 }