This commit is contained in:
2010-10-08 13:00:24 +00:00
parent 117bae32c8
commit ce69adcd51
3 changed files with 106 additions and 25 deletions

View File

@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Volian.Base.Library
{
public static class TmpFile
{
public static void RemoveAllTmps()
{
RemoveTmpPDFs();
RemoveTmpDocs();
RemoveTmps("*.png");
}
public static void RemoveTmpPDFs()
{
string tmpFolder = VlnSettings.TemporaryFolder;
DirectoryInfo di = new DirectoryInfo(tmpFolder);
if (!di.Exists) return;
foreach (FileInfo fi in di.GetFiles("*.pdf"))
{
try
{
// only delete pdfs if they are older than an hour - just to be
// safe. During creation of pdf's, separate pdfs are created for
// word sections and imported into the main resulting pdf.
if (fi.LastAccessTime.Ticks > (DateTime.Now.Ticks - TimeSpan.TicksPerHour))
fi.Delete();
}
catch (Exception ex)
{
continue; // if an error, go onto next file.
}
}
}
public static void RemoveTmpDocs()
{
RemoveTmps("*.doc");
}
private static void RemoveTmps(string extension)
{
string tmpFolder = VlnSettings.TemporaryFolder;
DirectoryInfo di = new DirectoryInfo(tmpFolder);
if (!di.Exists) return;
foreach (FileInfo fi in di.GetFiles(extension))
{
try
{
// delete any docs. If it fails, just go on to the next one becase
// it may be open from another process.
fi.Delete();
}
catch (Exception ex)
{
continue; // if an error, go onto next file.
}
}
}
}
}