NetMud.DataAccess.FileSystem.PlayerData.ArchiveCharacter C# (CSharp) Method

ArchiveCharacter() public method

Archive a character
public ArchiveCharacter ( ICharacter entity ) : void
entity ICharacter the thing to archive
return void
        public void ArchiveCharacter(ICharacter entity)
        {
            var dirName = BaseDirectory + entity.AccountHandle + "/" + CurrentDirectoryName + entity.ID + "/";

            if (!VerifyDirectory(dirName))
                throw new Exception("Unable to locate or create current player directory.");

            var entityFileName = GetCharacterFilename(entity);

            if (string.IsNullOrWhiteSpace(entityFileName))
                return;

            var fullFileName = dirName + entityFileName;

            if (!File.Exists(fullFileName))
                return;

            var archiveFileDirectory = BaseDirectory + entity.AccountHandle + "/" + ArchiveDirectoryName + entity.ID + "/" + DatedBackupDirectory;

            if (!VerifyDirectory(archiveFileDirectory))
                throw new Exception("Unable to locate or create archive player directory.");

            try
            {
                var archiveFile = archiveFileDirectory + entityFileName;

                if (File.Exists(archiveFile))
                    File.Delete(archiveFile);

                File.Move(fullFileName, archiveFile);
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex);
            }
        }