private static string ResolveFilePath(MyAbstractMemoryBlock memoryBlock, string globalDataFolder)
{
string fileName = GetTempStorage(memoryBlock.Owner.Owner) + "\\" + GetNodeFolder(memoryBlock.Owner) + "\\" + GetFileName(memoryBlock);
if (!File.Exists(fileName))
{
MyWorkingNode node = memoryBlock.Owner as MyWorkingNode;
if (!string.IsNullOrEmpty(node.DataFolder))
{
fileName = node.DataFolder;
}
else if (!string.IsNullOrEmpty(globalDataFolder))
{
fileName = globalDataFolder + "\\" + GetNodeFolder(memoryBlock.Owner);
}
else
{
throw new FileNotFoundException(
"File not found in temporal folder and no data folder defined: " + fileName);
}
fileName += "\\" + GetFileName(memoryBlock);
}
if (!File.Exists(fileName))
{
throw new FileNotFoundException("Memory block file not found: " + fileName);
}
return fileName;
}