FileSharePathManager
class FileSharePathManager
Represents a file share path manager class object.
using System;
using System.IO;
namespace Relativity.DataExchange.Io
{
internal class FileSharePathManager
{
private readonly int ;
private string ;
private string ;
private int ;
public string => currentSubDirectory;
public int => maxVolumeSize;
public FileSharePathManager(int maximumVolumeSize)
{
currentSubDirectory = GetNewSubdirectory();
lastSubdirectory = string.Copy(currentSubDirectory);
currentFileNumber = 0;
maxVolumeSize = maximumVolumeSize;
}
public void ()
{
if (currentFileNumber == 1) {
currentFileNumber = maxVolumeSize;
currentSubDirectory = string.Copy(lastSubdirectory);
} else
currentFileNumber--;
}
public string (string targetFolderName)
{
currentFileNumber++;
if (currentFileNumber > maxVolumeSize) {
currentFileNumber = 1;
lastSubdirectory = string.Copy(currentSubDirectory);
currentSubDirectory = GetNewSubdirectory();
}
return Path.Combine(targetFolderName, currentSubDirectory) + "\\";
}
public string (string path)
{
return Path.Combine(path, GetNewSubdirectory()) + "\\";
}
private static string ()
{
return "RV_" + Guid.NewGuid().ToString();
}
}
}