private ResultadoValidacion CrearArchivoRoe(Dictionary<string, int> errores, string archivoEntrada, ValidadorInput input, string extraInfo = "") { var resultado = new List<Validacion>(); var errorOutput = new StringBuilder(); errorOutput.AppendLine("Archivo Invalido"); errorOutput.AppendLine("Path: " + archivoEntrada); foreach (KeyValuePair<string, int> error in errores) { resultado.Add(new Validacion { Descripcion = error.Key, Valido = (error.Value == 0), Error = (error.Value == 0 ? "OK" : _erroresValidacion[error.Value]) }); } bool valido = errores.All(p => p.Value == 0); ValidadorContract c = new ValidadorContract(); foreach (PropertyInfo propertyInfo in input.GetType().GetProperties()) { var property = c.GetType().GetProperties().Where(p => p.Name == propertyInfo.Name).FirstOrDefault(); if (property != null) { property.SetValue(c,propertyInfo.GetValue(input, new object[0]),new object[0]); } } return new ResultadoValidacion() {Valido = valido, Detalles = resultado, Entrada = c}; }