Ejemplo n.º 1
0
        public async Task <StorageItem> CreateFolderAsync(FolderCreateRequestDto folderCreate)
        {
            var folder = mapper.Map <FolderCreateRequestDto, StorageItem>(folderCreate);

            folder.TrustedName  = StorageItemsHelpers.GetStorageItemTrustedName();
            folder.RelativePath = StorageItemsHelpers.GetFolderRelativePath(folder);

            var existingFolderInDirectory =
                await unitOfWork.StorageItems.GetFolderByTrustedNameAsync(folder.TrustedName);

            string fullPath = StorageItemsHelpers.GetStorageItemFullPath(targetPath, folder.RelativePath);

            if (existingFolderInDirectory == null && !folderManager.IsFolderExists(fullPath))
            {
                await unitOfWork.StorageItems.AddAsync(folder);

                await unitOfWork.CommitAsync();

                folderManager.CreateFolder(fullPath);

                return(folder);
            }
            else
            {
                throw new ArgumentException("Folder has been already exists!");
            }
        }
Ejemplo n.º 2
0
        public void Exception_Relative_Folder_Path_For_File()
        {
            var file = new StorageItem()
            {
                DisplayName = "testDisplay",
                TrustedName = "testTrust",
                IsFolder    = false
            };

            Assert.That(() => StorageItemsHelpers.GetFolderRelativePath(file),
                        Throws.TypeOf <ArgumentException>()
                        .With.Matches <ArgumentException>(
                            ex => ex.Message == "Item should be folder."));
        }
Ejemplo n.º 3
0
        public void Exception_Relative_NonPrimary_Folder_Path_Without_Parent()
        {
            var folder = new StorageItem()
            {
                DisplayName     = "testDisplay",
                TrustedName     = "testTrust",
                IsFolder        = true,
                IsPrimaryFolder = false,
                ParentFolder    = null
            };

            Assert.That(() => StorageItemsHelpers.GetFolderRelativePath(folder),
                        Throws.TypeOf <ArgumentException>()
                        .With.Matches <ArgumentException>(
                            ex => ex.Message == "Non-primary folder should have a parent folder"));
        }