Search my blog articles

Monday, March 20, 2006

File Row Splitting Based on Defined Enumerators

using System;
using System.IO;
using System.Collections;
using System.Configuration;

namespace HAX_ELIG_IB
{
///
/// Summary description for IBFile.
///

public class IBFile
{
public enum IBRecordType
{
I1 = 1,
I2 ,
I3 ,
S ,
C ,
D1,
D2,
D3
}
private string fileName = string.Empty;
private string filenamepath = string.Empty;
private FileStream aFileStream = null;
private IBRecordType aRectype = 0;
public IBRecordType RecType
{
get
{
return this.aRectype;
}
}
StreamWriter fileStreamWriter = null;
public IBFile(IBRecordType TypeofRecord)
{
string filenamepath = ((string)ConfigurationSettings.AppSettings.GetValues("RecordFileNamePath").GetValue(0));
fileName = filenamepath + Enum.GetName(typeof(IBFile.IBRecordType),TypeofRecord) + ".txt";
fileStreamWriter = File.CreateText(fileName);
this.aRectype = TypeofRecord;
}
public void WriteLine(string Line)
{
fileStreamWriter.WriteLine(Line);
}
public void CloseFile()
{
this.fileStreamWriter.Close();
}
}
}


#region Using Directives
using System;
using System.Collections;
using System.Text;
#endregion
namespace HAX_ELIG_IB
{
public class IBFileCollection : CollectionBase
{
#region Properties
public IBFile this [int index]
{
get
{
return (IBFile) List[index];
}
}
#endregion
#region Business Logic
public bool Find(IBFile.IBRecordType aRtype, out IBFile aFile)
{
foreach (IBFile current in this)
{
if (current.RecType == aRtype)
{
aFile = current;
return true;
}
}
aFile = null;
return false;
}
public void Add(IBFile.IBRecordType aRectype)
{
List.Add(new IBFile(aRectype));
}

public bool Contains(IBFile aItem)
{
foreach (IBFile child in List)
{
if (child.Equals(aItem))
{
return true;
}
}
return false;
}
public void WriteLine(string line, IBFile.IBRecordType aRecType)
{
foreach (IBFile current in this)
{
if (current.RecType == aRecType)
{
current.WriteLine(line);
return;
}
}
}
#endregion
#region Constructor
public IBFileCollection()
{
foreach(string filetype in Enum.GetNames(typeof(IBFile.IBRecordType)))
{
this.Add((IBFile.IBRecordType)Enum.Parse(typeof(IBFile.IBRecordType),filetype));
}
}
public void CloseAll()
{
foreach(IBFile ibfile in this)
{
ibfile.CloseFile();
}
}
#endregion
}
}

web.config







No comments: