InsiderTransactions refactorings.

This commit is contained in:
2024-02-26 19:48:35 -05:00
parent dc73a51156
commit 661bd3d7ec
7 changed files with 422 additions and 160 deletions

View File

@@ -16,28 +16,28 @@ namespace MarketData.Utils
public UpdateManager()
{
}
public bool Prepare(String strPathFileName)
public bool Prepare(String strPathFileName, int maxAgeDays=5)
{
try
{
String currentWorkingDirectory=Directory.GetCurrentDirectory();
if(!File.Exists(strPathFileName)||IsExpired(strPathFileName))
if(!File.Exists(strPathFileName)||IsExpired(strPathFileName, maxAgeDays))
{
if(File.Exists(strPathFileName))File.Delete(strPathFileName);
fileStream=new FileStream(strPathFileName,FileMode.Create);
streamWriter=new StreamWriter(fileStream);
Console.WriteLine(String.Format("Creating session file:{0}",strPathFileName));
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Creating session file:{0}",strPathFileName));
}
else
{
FileStream fileStream=new FileStream(strPathFileName,FileMode.Open);
FileStream fileStream=new FileStream(strPathFileName,FileMode.Open,FileAccess.ReadWrite,FileShare.Read);
StreamReader streamReader=new StreamReader(fileStream);
String strLine=null;
while(null!=(strLine=streamReader.ReadLine()))
{
if(!entries.ContainsKey(strLine))entries.Add(strLine,strLine);
}
Console.WriteLine(String.Format("Loaded {0} entries from session file:{1}",entries.Count,strPathFileName));
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Loaded {0} entries from session file:{1}",entries.Count,strPathFileName));
streamReader.Close();
streamReader.Dispose();
fileStream.Close();
@@ -49,27 +49,28 @@ namespace MarketData.Utils
}
catch(Exception exception)
{
Console.WriteLine(String.Format("Exception:{0}",exception));
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Exception:{0}",exception));
return false;
}
}
private bool IsExpired(String strPathFileName)
private bool IsExpired(String strPathFileName, int maxAgeDays)
{
try
{
DateGenerator dateGenerator=new DateGenerator();
DateTime creationTime=File.GetCreationTime(strPathFileName);
int daysElapsed=Math.Abs(dateGenerator.DaysBetweenActual(creationTime,DateTime.Now));
if(daysElapsed>5)
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("{0} is {1} days(s) old.",strPathFileName,daysElapsed));
if(daysElapsed>maxAgeDays)
{
Console.WriteLine(String.Format("{0} is expired. {1} days old.",strPathFileName,daysElapsed));
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("{0} is expired. {1} days old.",strPathFileName,daysElapsed));
return true;
}
return false;
}
catch(Exception exception)
{
Console.WriteLine(String.Format("Exception:{0}",exception));
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Exception:{0}",exception));
return true;
}
}
@@ -79,9 +80,12 @@ namespace MarketData.Utils
}
public void Add(String entry)
{
if(null==streamWriter)return;
streamWriter.WriteLine(entry);
streamWriter.Flush();
lock(this)
{
if(null==streamWriter)return;
streamWriter.WriteLine(entry);
streamWriter.Flush();
}
}
public void Dispose()
{