Commit for development environment setup
This commit is contained in:
@@ -0,0 +1,249 @@
|
||||
/*********************************************************************************************
|
||||
* Copyright 2003 - Volian Enterprises, Inc. All rights reserved.
|
||||
* Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
* ------------------------------------------------------------------------------
|
||||
* $Workfile: EopToErgRelations.cs $ $Revision: 1 $
|
||||
* $Author: Jsj $ $Date: 11/12/04 10:33a $
|
||||
*
|
||||
* $History: EopToErgRelations.cs $
|
||||
*
|
||||
* ***************** Version 1 *****************
|
||||
* User: Jsj Date: 11/12/04 Time: 10:33a
|
||||
* Created in $/LibSource/VDB
|
||||
* Class to support translation table maintenance.
|
||||
*********************************************************************************************/
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using VDB;
|
||||
|
||||
namespace VDB_Set
|
||||
{
|
||||
/// <summary>
|
||||
/// Support for the maintenance of the EOP ot ERG translation table
|
||||
/// (TRANSL.TBL) which holds the relationships between the EOPs and ERGs
|
||||
/// </summary>
|
||||
public class EopToErgRelations
|
||||
{
|
||||
static string RelationshipFile = "TRANSL.TBL";
|
||||
private ArrayList _aryTransTable = null;
|
||||
|
||||
public ArrayList aryTransTable
|
||||
{
|
||||
get
|
||||
{
|
||||
return _aryTransTable;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_aryTransTable = value;
|
||||
}
|
||||
}
|
||||
|
||||
public EopToErgRelations()
|
||||
{
|
||||
_aryTransTable = new ArrayList();
|
||||
ReadTranslationTableFile();
|
||||
}
|
||||
|
||||
private void ReadTranslationTableFile()
|
||||
{
|
||||
string inbuf;
|
||||
TransFileRecord TranTblRec;
|
||||
|
||||
if (!File.Exists(RelationshipFile))
|
||||
return; // file not there to read
|
||||
StreamReader sr = new StreamReader(RelationshipFile);
|
||||
while ((inbuf = sr.ReadLine()) != null)
|
||||
{
|
||||
TranTblRec = new TransFileRecord(inbuf);
|
||||
_aryTransTable.Add(TranTblRec);
|
||||
}
|
||||
sr.Close();
|
||||
}
|
||||
|
||||
public void WriteTranslationTableFile()
|
||||
{
|
||||
StreamWriter sw = new StreamWriter(RelationshipFile,false);
|
||||
foreach (TransFileRecord tfr in _aryTransTable)
|
||||
{
|
||||
sw.Write(tfr.StringForFile());
|
||||
}
|
||||
sw.Close();
|
||||
}
|
||||
|
||||
// Add to the end of the passed in list either info from the read-in
|
||||
// translation file (TRANSL.TBL) or a new (empty) record.
|
||||
public void AddToTranslationList(SetRecordObj SetRecObj, ArrayList NewList)
|
||||
{
|
||||
bool found = false;
|
||||
for (int i = 0; !found && i < _aryTransTable.Count; i++)
|
||||
{
|
||||
TransFileRecord tfr = (TransFileRecord)_aryTransTable[i];
|
||||
string tfrUpper = tfr.EOPFile.ToUpper();
|
||||
string NewUpper = SetRecObj.DatabaseTable.ToUpper();
|
||||
|
||||
if (tfrUpper.Equals(NewUpper))
|
||||
{
|
||||
NewList.Add(tfr);
|
||||
found=true;
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
TransFileRecord newrec = new TransFileRecord();
|
||||
newrec.EOPFile = SetRecObj.DatabaseTable;
|
||||
NewList.Add(newrec);
|
||||
}
|
||||
}
|
||||
|
||||
// Assign the ERG information (passed in as RecObj) to the currently
|
||||
// slected EOP
|
||||
public bool ChangeTranslationListItem(int EOPidx, object RecObj)
|
||||
{
|
||||
bool changedFlag = false;
|
||||
SetRecordObj SetRecObj = (SetRecordObj)RecObj;
|
||||
TransFileRecord tfr = (TransFileRecord)_aryTransTable[EOPidx];
|
||||
if (tfr.ERGFile == null ||
|
||||
!tfr.ERGFile.Equals(SetRecObj.DatabaseTable) ||
|
||||
!tfr.ERGProcNum.Equals(SetRecObj.ProcNumber))
|
||||
{
|
||||
changedFlag = true;
|
||||
tfr.ERGFile = SetRecObj.DatabaseTable;
|
||||
tfr.ERGProcNum = SetRecObj.ProcNumber;
|
||||
_aryTransTable[EOPidx] = tfr;
|
||||
}
|
||||
return changedFlag;
|
||||
}
|
||||
|
||||
// For a given procecure number, find the position in the translation
|
||||
// table list.
|
||||
public int FindEOPInList(String EopFileName)
|
||||
{
|
||||
bool found = false;
|
||||
int rtval = -1;
|
||||
int cnt = _aryTransTable.Count;
|
||||
TransFileRecord tfr;
|
||||
string uEopFileName = EopFileName.ToUpper();
|
||||
|
||||
for (int i = 0; !found && i < cnt; i++)
|
||||
{
|
||||
tfr = (TransFileRecord)_aryTransTable[i];
|
||||
string uListEopName = tfr.EOPFile.ToString().ToUpper();
|
||||
|
||||
if (uListEopName.Equals(uEopFileName))
|
||||
{
|
||||
rtval = i;
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
return rtval;
|
||||
}
|
||||
|
||||
// For a given position in the Translation table, get the corresponding
|
||||
// position in the ERGList array
|
||||
public int FindInERGList(int idx, ArrayList ERGList)
|
||||
{
|
||||
int rtval = 0;
|
||||
bool found = false;
|
||||
TransFileRecord tfr = (TransFileRecord)_aryTransTable[idx];
|
||||
if (tfr.ERGFile == null)
|
||||
return 0; // return not selected
|
||||
string uERGFileName = tfr.ERGFile.ToUpper();
|
||||
SetRecordObj SetRec;
|
||||
string uErgListFName;
|
||||
int cnt = ERGList.Count;
|
||||
|
||||
for (int i=0; !found && i < cnt; i++)
|
||||
{
|
||||
SetRec = (SetRecordObj)ERGList[i];
|
||||
uErgListFName = SetRec.DatabaseTable.ToUpper();
|
||||
if (uErgListFName.Equals(uERGFileName))
|
||||
{
|
||||
rtval = i;
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
return rtval;
|
||||
}
|
||||
}
|
||||
|
||||
// This class is used to hold the information of a record in the
|
||||
// Translation table (TRANSL.TBL)
|
||||
class TransFileRecord
|
||||
{
|
||||
private string _EOPFile;
|
||||
private string _ERGFile;
|
||||
private string _ERGProcNum;
|
||||
|
||||
public string EOPFile
|
||||
{
|
||||
get
|
||||
{
|
||||
return _EOPFile;
|
||||
}
|
||||
set
|
||||
{
|
||||
_EOPFile = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string ERGFile
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ERGFile;
|
||||
}
|
||||
set
|
||||
{
|
||||
_ERGFile = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string ERGProcNum
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ERGProcNum;
|
||||
}
|
||||
set
|
||||
{
|
||||
_ERGProcNum = value;
|
||||
}
|
||||
}
|
||||
|
||||
public TransFileRecord()
|
||||
{
|
||||
_EOPFile = null;
|
||||
_ERGFile = null;
|
||||
_ERGProcNum = null;
|
||||
}
|
||||
|
||||
// "inbuf" is a line read from the TRANSL.TBL file.
|
||||
// parse out the the EOP's database file name, the ERG's
|
||||
// database file name, and the ERG's procedure number
|
||||
public TransFileRecord(string inbuf)
|
||||
{
|
||||
int stidx, len;
|
||||
stidx = 0;
|
||||
len = inbuf.IndexOf(",");
|
||||
_EOPFile = inbuf.Substring(stidx,len);
|
||||
stidx = len+1;
|
||||
len = inbuf.IndexOf(",",stidx) - stidx;
|
||||
_ERGFile = inbuf.Substring(stidx,len);
|
||||
stidx = stidx + len +1;
|
||||
_ERGProcNum = inbuf.Substring(stidx);
|
||||
}
|
||||
|
||||
// Create a string of the EOP database name, ERG database name, and
|
||||
// ERG procedure number for saving in the TRANSL.TBL file
|
||||
public string StringForFile()
|
||||
{
|
||||
string outbuf;
|
||||
outbuf = _EOPFile + "," + _ERGFile + "," + _ERGProcNum + "\n";
|
||||
return outbuf;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user