コード例 #1
0
        public void OnlySelectTempFoldersWithPrefix()
        {
            var factory = new FolderFactory(Substitute.For <INuKeeperLogger>());

            // set up edge cases
            var folder1 = factory.UniqueTemporaryFolder();

            Directory.SetLastWriteTime(folder1.FullPath, DateTime.Now.AddHours(-2));
            var notToToDeletePath = Path.Combine(FolderFactory.NuKeeperTempFilesPath(), "tools");

            Directory.CreateDirectory(notToToDeletePath);
            Directory.SetLastWriteTime(notToToDeletePath, DateTime.Now.AddHours(-2));

            var baseDirInfo = new DirectoryInfo(FolderFactory.NuKeeperTempFilesPath());

            var toDelete = FolderFactory.GetTempDirsToCleanup(baseDirInfo).ToArray();

            Assert.AreEqual(1, toDelete.Length, "Only 1 folder should be marked for deletion");
            Assert.AreEqual(folder1.FullPath, toDelete[0].FullName, "wrong folder marked for deletion");

            folder1.TryDelete();
            if (Directory.Exists(notToToDeletePath))
            {
                Directory.Delete(notToToDeletePath);
            }
        }
コード例 #2
0
        public static SiteFolder New(int siteId, int parentFolderId)
        {
            var result = (SiteFolder)FolderFactory.Create(EntityTypeCode.SiteFolder).CreateFolder();

            result.ParentId = parentFolderId;
            result.SiteId   = siteId;
            return(result);
        }
コード例 #3
0
ファイル: ContentFolderService.cs プロジェクト: QuantumArt/QP
        public static ContentFolder New(int contentId, int parentFolderId)
        {
            var result = (ContentFolder)FolderFactory.Create(EntityTypeCode.ContentFolder).CreateFolder();

            result.ParentId  = parentFolderId;
            result.ContentId = contentId;
            return(result);
        }
コード例 #4
0
ファイル: ContentFolderService.cs プロジェクト: QuantumArt/QP
        public static ContentFolder Update(ContentFolder folder)
        {
            if (!folder.ParentId.HasValue)
            {
                throw new ApplicationException(FolderStrings.CanUpdateRootFolder);
            }

            return((ContentFolder)FolderFactory.Create(EntityTypeCode.ContentFolder).CreateRepository().Update(folder));
        }
コード例 #5
0
ファイル: ContentFolderService.cs プロジェクト: QuantumArt/QP
        public static ContentFolder Save(ContentFolder folder)
        {
            if (folder == null)
            {
                throw new ArgumentNullException(nameof(folder));
            }

            return((ContentFolder)FolderFactory.Create(EntityTypeCode.ContentFolder).CreateRepository().Create(folder.ParentEntityId, folder.ParentId, folder.Name));
        }
コード例 #6
0
        public void OverrideSourcesAreUsedWhenSupplied()
        {
            var overrrideSources = new NuGetSources("overrideA");
            var reader           = MakeNuGetSourcesReader();

            var ff = new FolderFactory(Substitute.For <INuKeeperLogger>());

            var result = reader.Read(ff.UniqueTemporaryFolder(), overrrideSources);

            Assert.That(result, Is.EqualTo(overrrideSources));
        }
コード例 #7
0
ファイル: ContentFolderService.cs プロジェクト: QuantumArt/QP
        public static MessageResult RemovePreAction(int id)
        {
            var folder = FolderFactory.Create(EntityTypeCode.ContentFolder).CreateRepository().GetById(id);

            if (folder.IsEmpty)
            {
                return(MessageResult.Confirm(string.Format(FolderStrings.FolderIsNotEmptyConfirm, folder.Name), new[] { id }));
            }

            return(null);
        }
コード例 #8
0
        public static Folder GetById(int id)
        {
            var factory = FolderFactory.Create(EntityTypeCode.SiteFolder);
            var folder  = factory.CreateRepository().GetById(id);

            if (folder == null)
            {
                throw new Exception(string.Format(LibraryStrings.SiteFolderNotExists, id));
            }

            return(folder);
        }
コード例 #9
0
 private async Task SwitchToLocal()
 {
     try
     {
         IFolder newFolder = await FolderFactory.CreateRootFolder(FolderType.FileSystem);
         await SetFolder(newFolder);
     }
     catch (Exception ex)
     {
         Toast.MakeText(this, ex.Message, ToastLength.Long).Show();
     }
 }
コード例 #10
0
ファイル: SiteFolderProcessor.cs プロジェクト: QuantumArt/QP
        public IList <EntityTreeItem> Process()
        {
            if (_parentEntityId == null)
            {
                throw new ArgumentNullException(nameof(_parentEntityId));
            }

            var folderRepository = FolderFactory.Create(_entityTypeCode).CreateRepository();
            var children         = _returnSelf
                ? Enumerable.Repeat(folderRepository.GetSelfAndChildrenWithSync(_parentEntityId.Value, _entityId), 1)
                : folderRepository.GetChildrenWithSync(_parentEntityId.Value, _entityId);

            return(Mapper.Map <IEnumerable <Folder>, List <EntityTreeItem> >(children));
        }
コード例 #11
0
        public static MessageResult Remove(int id)
        {
            var repository = FolderFactory.Create(EntityTypeCode.SiteFolder).CreateRepository();
            var folder     = repository.GetById(id);

            if (folder == null)
            {
                throw new ApplicationException(string.Format(FolderStrings.FolderNotFound, id));
            }

            if (!folder.ParentId.HasValue)
            {
                throw new ApplicationException(FolderStrings.CanDeleteRootFolder);
            }

            repository.Delete(folder);
            return(null);
        }
コード例 #12
0
        /// <summary>
        /// Возвращает сущность
        /// </summary>
        /// <param name="entityTypeCode">код типа сущности</param>
        /// <param name="entityId">идентификатор сущности</param>
        /// <param name="loadChilds">признак, разрешающий загрузку дочерних сущностей</param>
        /// <param name="filter">фильтр</param>
        /// <returns>сущность</returns>
        public static EntityTreeItem GetByTypeAndIdForTree(string entityTypeCode, int entityId, bool loadChilds, string filter)
        {
            if (entityTypeCode == EntityTypeCode.Article)
            {
                return(ArticleRepository.GetByIdForTree(entityId, loadChilds, filter));
            }

            if (entityTypeCode == EntityTypeCode.SiteFolder || entityTypeCode == EntityTypeCode.ContentFolder)
            {
                var folderRepository = FolderFactory.Create(entityTypeCode).CreateRepository();
                var folder           = folderRepository.GetById(entityId);
                if (!loadChilds)
                {
                    return(Mapper.Map <Folder, EntityTreeItem>(folder));
                }

                return(Mapper.Map <Folder, EntityTreeItem>(folderRepository.GetSelfAndChildrenWithSync(folder.ParentEntityId, folder.Id)));
            }

            return(null);
        }
コード例 #13
0
        public void OnlySelectTempFoldersOlderThanOneHour()
        {
            var factory = new FolderFactory(Substitute.For <INuKeeperLogger>());

            // set up edge cases
            var folder1 = factory.UniqueTemporaryFolder();

            Directory.SetLastWriteTime(folder1.FullPath, DateTime.Now.AddHours(-1).AddMinutes(-1));
            var folder2 = factory.UniqueTemporaryFolder();

            Directory.SetLastWriteTime(folder2.FullPath, DateTime.Now.AddHours(-1).AddMinutes(1));

            var baseDirInfo = new DirectoryInfo(FolderFactory.NuKeeperTempFilesPath());

            var toDelete = FolderFactory.GetTempDirsToCleanup(baseDirInfo).ToArray();

            Assert.AreEqual(1, toDelete.Length, "Only 1 folder should be marked for deletion");
            Assert.AreEqual(folder1.FullPath, toDelete[0].FullName, "wrong folder marked for deletion");

            folder1.TryDelete();
            folder2.TryDelete();
        }
コード例 #14
0
        private void SwitchToSmb()
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.SetTitle(Resource.String.selectServer);

            EditText input = new EditText(this);

            input.InputType = Android.Text.InputTypes.ClassText;
            input.Text      = PreferenceManager.GetDefaultSharedPreferences(this).GetString("LastSmbServer", "");
            builder.SetView(input);

            builder.SetPositiveButton(Android.Resource.String.Ok, async(sender, eventArgs) =>
            {
                String text = input.Text;
                var editor  = PreferenceManager.GetDefaultSharedPreferences(this).Edit();
                editor.PutString("LastSmbServer", text);
                editor.Commit();
                try
                {
                    IFolder newFolder = await FolderFactory.CreateRootFolder(FolderType.SambaShare);
                    newFolder         = await newFolder.GetSubFolder(text);
                    await SetFolder(newFolder);
                }
                catch (Exception ex)
                {
                    Toast.MakeText(this, ex.Message, ToastLength.Long).Show();
                }
            }
                                      );
            builder.SetNegativeButton(Android.Resource.String.Cancel, async(sender, eventArgs) =>
            {
                await SwitchToLocal();
            });

            builder.Show();
        }
コード例 #15
0
        private async void DoSetFolder(String serializedFolder)
        {
            var folder = await FolderFactory.CreateFromSerialization(serializedFolder);

            await SetFolder(folder);
        }
コード例 #16
0
 static void Main(string[] args)
 {
     FolderFactory folderFactory = new FolderFactory();
     var           fileList      = folderFactory.GetFolderDetails();
 }
コード例 #17
0
        private IFolder UniqueTemporaryFolder()
        {
            var factory = new FolderFactory(NukeeperLogger);

            return(factory.UniqueTemporaryFolder());
        }
コード例 #18
0
 public void MoveFolder(int?parentFolderId, int folderId)
 {
     FolderFactory.Create().MoveFolder(parentFolderId, folderId);
 }
コード例 #19
0
        private static IFolder TemporaryFolder()
        {
            var ff = new FolderFactory(Substitute.For <INuKeeperLogger>());

            return(ff.UniqueTemporaryFolder());
        }
コード例 #20
0
        private IFolder GetUniqueTempFolder()
        {
            var folderFactory = new FolderFactory(Substitute.For <INuKeeperLogger>());

            return(folderFactory.UniqueTemporaryFolder());
        }
コード例 #21
0
ファイル: FolderTests.cs プロジェクト: NuKeeperBot/NuKeeper
        private static IFolder MakeTempFolder()
        {
            var factory = new FolderFactory(new NullNuKeeperLogger());

            return(factory.UniqueTemporaryFolder());
        }
コード例 #22
0
 public void DeleteFolderById(int id)
 {
     FolderFactory.Create().DeleteFolderById(id);
 }
コード例 #23
0
 public FolderData GetTreeNodes(int userId)
 {
     return(FolderFactory.Create().GetTreeNodes(userId));
 }
コード例 #24
0
 public FolderData GetAllFolders()
 {
     return(FolderFactory.Create().GetAllFolders());
 }
コード例 #25
0
 public Analytics(TDMSApplication app)
 {
     App           = app;
     folderFactory = new(DateTime.Now, path);
 }
コード例 #26
0
 public void AddFolder(int parentFolderId, string folderName)
 {
     FolderFactory.Create().AddFolder(parentFolderId, folderName);
 }
コード例 #27
0
        private IFolder GetUniqueTempFolder()
        {
            var folderFactory = new FolderFactory(new NullNuKeeperLogger());

            return(folderFactory.UniqueTemporaryFolder());
        }
コード例 #28
0
 public FolderData GetFolderById(int folderId)
 {
     return(FolderFactory.Create().GetFolderById(folderId));
 }
コード例 #29
0
 public void UpdateFolder(int?parentFolderId, int folderId, string folderName)
 {
     FolderFactory.Create().UpdateFolder(parentFolderId, folderId, folderName);
 }