Пример #1
0
        public void CreateAsync_ShouldAddNewFolderWithTitle()
        {
            var newFolder = new WrikeFolder("TestFolder #1");

            var createdFolder = WrikeClientFactory.GetWrikeClient().FoldersAndProjects.CreateAsync(RootFolderId, newFolder).Result;

            Assert.IsNotNull(createdFolder);
            Assert.AreEqual(newFolder.Title, createdFolder.Title);
        }
Пример #2
0
        public void DeleteAsync_ShouldDeleteNewFolder()
        {
            var newFolder = new WrikeFolder("My Folder #2");

            newFolder = WrikeClientFactory.GetWrikeClient().FoldersAndProjects
                        .CreateAsync(RootFolderId, newFolder).Result;

            var deletedFolder = WrikeClientFactory.GetWrikeClient().FoldersAndProjects.DeleteAsync(newFolder.Id).Result;

            Assert.IsNotNull(deletedFolder);
        }
Пример #3
0
        public void UpdateAsync_ShouldUpdateFolderTitle()
        {
            var newFolder = new WrikeFolder("My Folder #1");

            newFolder = WrikeClientFactory.GetWrikeClient().FoldersAndProjects
                        .CreateAsync(RootFolderId, newFolder).Result;

            var expectedTitle = "My Folder #1 [Updated]";
            var updatedFolder = WrikeClientFactory.GetWrikeClient().FoldersAndProjects
                                .UpdateAsync(newFolder.Id, expectedTitle).Result;

            Assert.IsNotNull(updatedFolder);
            Assert.AreEqual(expectedTitle, updatedFolder.Title);
        }
Пример #4
0
        public void CopyAsync_ShouldCopyFolder()
        {
            var parentFolder = new WrikeFolder("My Parent Folder");

            parentFolder = WrikeClientFactory.GetWrikeClient().FoldersAndProjects
                           .CreateAsync(RootFolderId, parentFolder).Result;

            var folderToBeCopied = new WrikeFolder("My Folder To Be Copied");

            folderToBeCopied = WrikeClientFactory.GetWrikeClient().FoldersAndProjects
                               .CreateAsync(RootFolderId, folderToBeCopied).Result;

            var expectedTitle = "Copied";
            var copiedFolder  = WrikeClientFactory.GetWrikeClient().FoldersAndProjects
                                .CopyAsync(folderToBeCopied.Id, parentFolder.Id, "Copied").Result;

            Assert.IsNotNull(copiedFolder);
            Assert.AreEqual(expectedTitle, copiedFolder.Title);
            Assert.IsNotNull(copiedFolder.ParentIds);
            Assert.AreEqual(parentFolder.Id, copiedFolder.ParentIds.First());
        }
        public static async Task Run(WrikeClient client)
        {
            //try other options...
            var folderTrees = await client.FoldersAndProjects.GetFolderTreeAsync();

            var folders = await client.FoldersAndProjects.GetFoldersAsync(DefaultFolderIds);


            //var copiedFolder = await client.FoldersAndProjects.CopyAsync("IEACGXLUI4IEQ6NB", "IEACGXLUI4IHJMYP","CopiedFolder");

            //var folders = await client.FoldersAndProjects.GetFoldersAsync(
            //    new List<string> { "folderId", "folderId" },
            //    new List<string> {
            //        WrikeFolder.OptionalFields.AttachmentCount,
            //        WrikeFolder.OptionalFields.BriefDescription,
            //        WrikeFolder.OptionalFields.CustomColumnIds}
            //    );

            //folders = await client.FoldersAndProjects.GetFoldersAsync(
            //new List<string> { "folderId", "folderId" }
            //);


            var rootFolderId = "root-folderId";

            var newFolder = new WrikeFolder("Sinan Test Folder2",
                                            description: "Test Folder for development of wrike integration");

            newFolder = await client.FoldersAndProjects.CreateAsync(rootFolderId, newFolder);

            newFolder = await client.FoldersAndProjects.UpdateAsync(newFolder.Id, "Sinan Test Folder #2", addShareds : new List <string> {
                "newIdToAdd"
            });

            await client.FoldersAndProjects.DeleteAsync(newFolder.Id);
        }
        async Task <WrikeFolder> IWrikeFoldersAndProjectsClient.CreateAsync(WrikeClientIdParameter folderId, WrikeFolder newFolder)
        {
            if (newFolder == null)
            {
                throw new ArgumentNullException(nameof(newFolder));
            }

            var contentBuilder = new WrikeFormUrlEncodedContentBuilder()
                                 .AddParameter("title", newFolder.Title)
                                 .AddParameter("description", newFolder.Description)
                                 .AddParameter("shareds", newFolder.SharedIds)
                                 .AddParameter("metadata", newFolder.Metadata)
                                 .AddParameter("customFields", newFolder.CustomFields)
                                 .AddParameter("customColumns", newFolder.CustomColumnIds)
                                 .AddParameter("project", newFolder.Project);

            var response = await SendRequest <WrikeFolder>($"folders/{folderId}/folders", HttpMethods.Post, contentBuilder.GetContent()).ConfigureAwait(false);

            return(GetReponseDataFirstItem(response));
        }