/Rhino.Etl.Tests/UsingDAL/ReadUsersFromFileDynamic.cs

http://github.com/ayende/rhino-etl · C# · 38 lines · 33 code · 3 blank · 2 comment · 0 complexity · 30d9329f108794c4a6e87e07bfec9a7d MD5 · raw file

  1. using System;
  2. using FileHelpers;
  3. using FileHelpers.RunTime;
  4. namespace Rhino.Etl.Tests.UsingDAL
  5. {
  6. using System.Collections.Generic;
  7. using Core;
  8. using Rhino.Etl.Core.Files;
  9. using Rhino.Etl.Core.Operations;
  10. using System.Linq;
  11. public class ReadUsersFromFileDynamic : AbstractOperation
  12. {
  13. private Type _tblClass;
  14. public ReadUsersFromFileDynamic()
  15. {
  16. var userRecordClassBuilder = new DelimitedClassBuilder("UserRecord","\t");
  17. userRecordClassBuilder.IgnoreFirstLines = 1;
  18. userRecordClassBuilder.AddField("Id", typeof(Int32));
  19. userRecordClassBuilder.AddField("Name", typeof(String));
  20. userRecordClassBuilder.AddField("Email", typeof(String));
  21. _tblClass = userRecordClassBuilder.CreateRecordClass();
  22. }
  23. public override IEnumerable<Row> Execute(IEnumerable<Row> rows)
  24. {
  25. var file = new FileHelperEngine(_tblClass);
  26. //var ary = new[] {"one", "two", "three"};
  27. //var items = from a in ary select a;
  28. var items = file.ReadFile("users.txt");
  29. foreach (object obj in items)
  30. {
  31. yield return Row.FromObject(obj);
  32. }
  33. }
  34. }
  35. }