SourceCode/PROMS/DataLoader/Applicability.cs
Rich 03d49ce2df Changed how Loader class processes 16-bit APL files
Added ReviewDate property to ProcInfo class
Changed how RevDate and ReviewDate values obtained from 16-bit data
Added AddSlaveNode and AddSlaveItem methods to ConfigInfo class
Added validity check to verify Procedure Set Path and Process Only In Location are in synch
2012-12-04 22:32:34 +00:00

39 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace DataLoader
{
public partial class Loader
{
public Dictionary<string, string> MyProcAPL;
private static Dictionary<string, string> GetApple(string proc)
{
Dictionary<string, string> procAPL = new Dictionary<string, string>();
FileInfo myFile = new FileInfo(proc);
FileStream fs = myFile.OpenRead();
BinaryReader br = new BinaryReader(fs);
byte[] myBuff = new byte[myFile.Length];
br.Read(myBuff, 0, (int)myFile.Length);
br.Close();
fs.Close();
int offset = 0;
while (offset < myBuff.Length)
{
string recnum = Encoding.Default.GetString(myBuff, offset, 8);
int applicability = BitConverter.ToInt32(myBuff, offset + 8);
string applicabilityToStr = string.Format("{0:X8}", applicability);
//4294967296
if (!procAPL.ContainsKey(recnum))
procAPL.Add(recnum, applicabilityToStr);
else
if (procAPL[recnum] != applicabilityToStr)
procAPL[recnum] = applicabilityToStr;
offset += 12;
}
return procAPL;
}
}
}