public void WriteCharacter(ICharacter entity)
{
var dirName = BaseDirectory + entity.AccountHandle + "/" + CurrentDirectoryName + entity.ID + "/";
if (!VerifyDirectory(dirName))
throw new Exception("Unable to locate or create base player directory.");
var entityFileName = GetCharacterFilename(entity);
if (string.IsNullOrWhiteSpace(entityFileName))
return;
var fullFileName = dirName + entityFileName;
var archiveFileDirectory = BaseDirectory + entity.AccountHandle + "/" + ArchiveDirectoryName + entity.ID + "/" + DatedBackupDirectory;
try
{
ArchiveCharacter(entity);
WriteToFile(fullFileName, entity.ToBytes());
}
catch (Exception ex)
{
LoggingUtility.LogError(ex);
}
}