private void MoveFileTo(FileInfo file, string archivedFilePath)
{
bool fileIsMoved = false;
int attemptNr = 0;
while (!fileIsMoved)
{
attemptNr++;
try
{
file.MoveTo(archivedFilePath);
fileIsMoved = true;
}
catch (IOException ex)
{
if (attemptNr < ErrorRetryCount)
{
Logger.Instance.LogFormat(LogType.Warning, this, Properties.Resources.MoveFileAttemptError, attemptNr, ErrorRetryCount);
Thread.Sleep(MoveFileAttemptDelayMs);
}
else
{
Logger.Instance.LogFormat(LogType.Error, this, Properties.Resources.MoveFileFailure);
Logger.Instance.LogException(this, ex);
}
}
}
}