예제 #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!");
            }
        }
예제 #2
0
        public async Task <UserForRegisterDto> RegisterAsync(UserForRegisterDto userForRegister)
        {
            var user   = mapper.Map <UserForRegisterDto, User>(userForRegister);
            var result = await userManager.CreateAsync(user, userForRegister.Password);

            if (result.Succeeded)
            {
                await userManager.AddToRoleAsync(user, "Member");

                FolderCreateRequestDto userFolder = new FolderCreateRequestDto()
                {
                    DisplayName     = "MyStorage",
                    IsPrimaryFolder = true,
                    User            = user,
                    ParentFolder    = null
                };

                await privateItemsService.CreateFolderAsync(userFolder);

                return(userForRegister);
            }

            return(null);
        }