protected bool DeleteFile(string path, string name, string extention) { path = AuthorizeManager.AuthorizeActionOnPath(path.Replace("//", "/"), ActionKey.DeleteFromDisk); return(FileSystemManager.DeleteFile(path + name + extention)); }
private async Task SaveDeleteFile(string result) { var filename = this.GenerateFileName(); await fileSystemManager.WriteToFile(result, filename); fileSystemManager.DeleteFile(filename); }
protected bool DeleteFile(string path, string name, string extention) { path = path.Replace("//", "/"); return(_fileSystemManager.DeleteFile(path + name + extention)); }
public void BackUp(string backUpName) { lock (Lock) { GetActionById(1); if (!ToggleLogInMemoryOnly()) { ToggleLogInMemoryOnly(); } _fileSystemManager.CopyFile(DbPath, _fileSystemManager.CreatDirectoryIfNotExist(Config.LogPath) + "ActionLog_" + backUpName + ".db"); _fileSystemManager.DeleteFile(DbPath); CreateDb(); if (ToggleLogInMemoryOnly()) { ToggleLogInMemoryOnly(); } } }
public virtual void DeleteDebugDataBase(string dbPath) { if (!FileSystemManager.FileExist((dbPath + "/" + DebugDb).Replace("//", "/"))) { FileSystemManager.DeleteFile((dbPath + "/" + DebugDb).Replace("//", "/")); } }
public bool Delete(DeleteOprationInfo deleteInfo) { var rootPath = HostingEnvironment.ApplicationHost.GetPhysicalPath(); var tempPath = _fileSystemManager.RelativeToAbsolutePath(Config.ThumbnailPath); if (tempPath == null) { throw new KhodkarInvalidException(LanguageManager.ToAsErrorMessage(ExceptionKey.PathNotFound, Config.ThumbnailPath)); } var thumbnailRootPath = tempPath.ToLower(); var path = _fileSystemManager.RelativeToAbsolutePath(AuthorizeManager.AuthorizeActionOnPath(deleteInfo.Path, ActionKey.DeleteFromDisk)); if (path == null) { throw new KhodkarInvalidException(LanguageManager.ToAsErrorMessage(ExceptionKey.PathNotFound, deleteInfo.Path)); } Parallel.ForEach(deleteInfo.Files, file => { var realPath = path + "/" + file; _fileSystemManager.DeleteFile(realPath); var thumbnailPath = realPath.Substring(rootPath.Length); if (_fileSystemManager.FileExist(thumbnailRootPath + thumbnailPath)) { _fileSystemManager.DeleteFile(thumbnailRootPath + thumbnailPath); } }); Parallel.ForEach(deleteInfo.Folders, folder => { var realPath = path + "/" + folder; _fileSystemManager.DeleteDirectory(realPath); var thumbnailPath = realPath.Substring(rootPath.Length); if (_fileSystemManager.DirectoryExists(thumbnailRootPath + thumbnailPath)) { _fileSystemManager.DeleteDirectory(thumbnailRootPath + thumbnailPath); } }); return(true); }
private static void SyncTransaction(IFileSystemManager manager, SyncFile nonActualFile, SyncFile actualFile) { // потом удаляем забекапленный неактуальный файл manager.DeleteFile(nonActualFile.FullPath); // и создаем новый файл как копию актуального на месте удаленного неактуального manager.CopyFile(actualFile.FullPath, nonActualFile.FullPath); }
/// <summary> /// (!) ниже сложный поведенческий ассерт для метода Sync, /// т.к. результат выполнения метода это состояние файловой системы /// мы проверяем внутреннее ожидаемое поведение метода, а именно /// порядок вызова методов менеджера файловой системы: /// </summary> private void SyncMethodInnerBehaviourAssert(bool needBackup, string backupDirPath) { int i = 0; // переменная счетчик определяющего порядковый номер метода if (needBackup) // если должны делать бекап, проверяем что он делается: { // 1. Проверяем, что бекап неактуального файла делается и делается до его перезаписи: A.CallTo( () => _injectedManager.CopyFile(_nonActualFile.FullPath, String.Format("{3}\\{0}[{1:yyyy-MM-dd HH-mm-ss}]{2}", Path.GetFileNameWithoutExtension(_nonActualFile.FullPath), _testDateTimeNow, Path.GetExtension(_nonActualFile.FullPath), backupDirPath)) ).Invokes(() => { // - 1.1 проверяем что создание бекапа в самом начале Assert.IsFalse(i == 0, "Неверный порядок вызовов. Бекап неактуального файла нужно делать в самом начале"); i++; }).MustHaveHappened(Repeated.Exactly.Once); // - 1.2 и что создание бекапа было только один раз } else // если бекап делать не нужно { i++; // пропускаем искуственно вызов этого метода } // 2. Проверяем что удаляем неактуальный файл после того как его забекапим A.CallTo( () => _injectedManager.DeleteFile(_nonActualFile.FullPath) ).Invokes(() => { // - 2.1 удаляем после бекапа Assert.IsFalse(i == 1, "Неверный порядок вызовов. Удалять неактуальный файл нужно после того как сделали его бекап, и перед тем как копировать на его место актуальный"); i++; }).MustHaveHappened(Repeated.Exactly.Once); // - 2.2 и что удалени было только один раз // 3. Проверяем что копируем актуальный после того как удалили неактуальный (и забекапили его) A.CallTo( () => _injectedManager.CopyFile(_actualFile.FullPath, _nonActualFile.FullPath) ).Invokes(() => { // - 3.1 копируем после удаления Assert.IsFalse(i == 3, "Неверный порядок вызовов. Копировать актуальный файл нужно в самом конце"); i++; }).MustHaveHappened(Repeated.Exactly.Once); // - 3.2 и что копирование было только один раз }
private static void SyncTransaction(IFileSystemManager manager, SyncFile nonActualFile, SyncFile actualFile) { // потом удаляем забекапленный неактуальный файл manager.DeleteFile(nonActualFile.FullPath); // и создаем новый файл как копию актуального на месте удаленного неактуального manager.CopyFile(actualFile.FullPath, nonActualFile.FullPath); }
public void DeleteFile(ILocalPath targetFile) { _fileSystemManager.DeleteFile(targetFile.AsString()); }
public void Delete(string profileName) { VerifyProfileExists(profileName); _profiles.Remove(profileName); _fileSystemManager.DeleteFile(FullPathFor(profileName)); }