C# + EDirectory User Data Export File LDIF – Data Read

C# + EDirectory User Data Export File LDIF – Data Read

   EDirProfile.cs
 
   public class EDirProfile
   {
      public EDirProfile(string dn, string cn, int hraccountid)
      {
         this.dn = dn;
         this.cn = cn;
         this.hraccountid = hraccountid;
      }
 
      public EDirProfile()
      {
      }
 
      public string dn { get; set; }
      public string cn { get; set; }
      public int hraccountid { get; set; }
   }
 
   Main.cs
 
   using System.IO;
 
   namespace LDIFReader
   {
      class Program
      {
         static void Main(string[] args)
         {
            StreamReader reader = new StreamReader("export_20110302.ldf");
            StreamWriter writer = new StreamWriter("result_20110302.txt");
            writer.AutoFlush = true;
 
            string sr = reader.ReadLine();
 
            List<EDirProfile> list = new List<EDirProfile>();
            EDirProfile obj = new EDirProfile();
 
            while (sr != null)
            {
               if (sr.ToUpper().Contains("CN: ")) obj.cn = sr.Replace("CN: ", "");
 
               else if (sr.ToUpper().Contains("DN: ")) obj.dn = sr.Replace("DN: ", "");
 
               else if (sr.ToUpper().Contains("HRACCOUNTID: ")) obj.hraccountid = Int32.Parse(sr.Replace("HRACCOUNTID: ", "").Trim());
 
               else if (sr.Trim() == "")
               {
                  if (obj.cn != null && obj.cn != "") list.Add(obj);
                  obj = new EDirProfile();
               }
 
               sr = reader.ReadLine();
            }
 
            Console.WriteLine(list.Count);
 
            int i = 1;
 
            writer.WriteLine("\"ID\",\"LoginName\",\"HRAccountID\",\"DN\"");
 
            foreach(EDirProfile item in list)
            {
 
               Console.WriteLine(i + ",\"" + item.cn + "\"," + item.hraccountid + "\",\"" + item.dn + "\"");
 
               writer.WriteLine(i + ",\"" + item.cn + "\"," + item.hraccountid + "\",\"" + item.dn + "\"");
 
               i++;
            }
 
            Console.ReadLine();
         }
      }
   }