コード例 #1
0
        protected bool DeleteFile(string path, string name, string extention)
        {
            path = AuthorizeManager.AuthorizeActionOnPath(path.Replace("//", "/"), ActionKey.DeleteFromDisk);


            return(FileSystemManager.DeleteFile(path + name + extention));
        }
コード例 #2
0
        private async Task SaveDeleteFile(string result)
        {
            var filename = this.GenerateFileName();
            await fileSystemManager.WriteToFile(result, filename);

            fileSystemManager.DeleteFile(filename);
        }
コード例 #3
0
        protected bool DeleteFile(string path, string name, string extention)
        {
            path = path.Replace("//", "/");


            return(_fileSystemManager.DeleteFile(path + name + extention));
        }
コード例 #4
0
        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();
                }
            }
        }
コード例 #5
0
 public virtual void DeleteDebugDataBase(string dbPath)
 {
     if (!FileSystemManager.FileExist((dbPath + "/" + DebugDb).Replace("//", "/")))
     {
         FileSystemManager.DeleteFile((dbPath + "/" + DebugDb).Replace("//", "/"));
     }
 }
コード例 #6
0
        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);
        }
コード例 #7
0
        private static void SyncTransaction(IFileSystemManager manager, SyncFile nonActualFile, SyncFile actualFile)
        {
            // потом удаляем забекапленный неактуальный файл
            manager.DeleteFile(nonActualFile.FullPath);

            // и создаем новый файл как копию актуального на месте удаленного неактуального
            manager.CopyFile(actualFile.FullPath, nonActualFile.FullPath);
        }
コード例 #8
0
        /// <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 и что копирование было только один раз
        }
コード例 #9
0
ファイル: SyncFilesPair.cs プロジェクト: TIMBS/BeaverSync
        private static void SyncTransaction(IFileSystemManager manager, SyncFile nonActualFile, SyncFile actualFile)
        {
            // потом удаляем забекапленный неактуальный файл
            manager.DeleteFile(nonActualFile.FullPath);

            // и создаем новый файл как копию актуального на месте удаленного неактуального
            manager.CopyFile(actualFile.FullPath, nonActualFile.FullPath);
        }
コード例 #10
0
 public void DeleteFile(ILocalPath targetFile)
 {
     _fileSystemManager.DeleteFile(targetFile.AsString());
 }
コード例 #11
0
 public void Delete(string profileName)
 {
     VerifyProfileExists(profileName);
     _profiles.Remove(profileName);
     _fileSystemManager.DeleteFile(FullPathFor(profileName));
 }