예제 #1
0
		/// <summary>
		/// Add new folder to MyLibrary
		/// </summary>
		/// <param name="accessToken">Access token.</param>
        /// <param name="apiKey">The API key for the application</param>
		/// <param name="folder">Folder to be added (with name and parent id)</param>
		/// <returns>Returns a MyLibraryFolder object.</returns>
		public MyLibraryFolder AddLibraryFolder(string accessToken, string apiKey, MyLibraryFolder folder)
		{
			MyLibraryFolder newFolder = null;
            string url = String.Concat(Config.Endpoints.BaseUrl, Config.Endpoints.MyLibraryFolders);
            string json = folder.ToJSON();
            CUrlResponse response = RestClient.Post(url, accessToken, apiKey, json);

            if (response.IsError)
            {
                throw new CtctException(response.GetErrorMessage());
            }

            if (response.HasData)
            {
                newFolder = Component.FromJSON<MyLibraryFolder>(response.Body);
            }

            return newFolder;
		}
예제 #2
0
		/// <summary>
		/// Add new folder to MyLibrary
		/// </summary>
		/// <param name="folder">Folder to be added (with name and parent id)</param>
		/// <returns>Returns a MyLibraryFolder object.</returns>
		public MyLibraryFolder AddLibraryFolder(MyLibraryFolder folder)
		{
            if (folder == null)
            {
                throw new IllegalArgumentException(CTCT.Resources.Errors.MyLibraryOrId);
            }

            string url = String.Concat(Settings.Endpoints.Default.BaseUrl, Settings.Endpoints.Default.MyLibraryFolders);
            string json = folder.ToJSON();
            RawApiResponse response = RestClient.Post(url, UserServiceContext.AccessToken, UserServiceContext.ApiKey, json);
            try
            {
                var newFolder = response.Get<MyLibraryFolder>();
                return newFolder;
            }
            catch (Exception ex)
            {
                throw new CtctException(ex.Message, ex);
            } 
		}
예제 #3
0
		/// <summary>
		/// Update name and parent_id for a specific folder
		/// </summary>
		/// <param name="accessToken">Access token.</param>
        /// <param name="apiKey">The API key for the application</param>
		/// <param name="folder">Folder to be added (with name and parent id)</param>
		/// <param name="includePayload">Determines if update's folder JSON payload is returned</param>
		/// <returns>Returns a MyLibraryFolder object.</returns>
		public MyLibraryFolder UpdateLibraryFolder(string accessToken, string apiKey, MyLibraryFolder folder, bool? includePayload)
		{
			MyLibraryFolder updatedFolder = null;
            string url = String.Concat(Config.Endpoints.BaseUrl, string.Format(Config.Endpoints.MyLibraryFolder, folder.Id), GetQueryParameters(new object[] { "include_payload", includePayload } ));
            string json = folder.ToJSON();
            CUrlResponse response = RestClient.Put(url, accessToken, apiKey, json);

            if (response.IsError)
            {
                throw new CtctException(response.GetErrorMessage());
            }

            if (response.HasData)
            {
                updatedFolder = Component.FromJSON<MyLibraryFolder>(response.Body);
            }

            return updatedFolder;
		}
예제 #4
0
		/// <summary>
		/// Update name and parent_id for a specific folder
		/// </summary>
		/// <param name="folder">Folder to be added (with name and parent id)</param>
		/// <param name="includePayload">Determines if update's folder JSON payload is returned</param>
		/// <returns>Returns a MyLibraryFolder object.</returns>
		public MyLibraryFolder UpdateLibraryFolder(MyLibraryFolder folder, bool? includePayload)
		{
            if (folder == null)
            {
                throw new IllegalArgumentException(CTCT.Resources.Errors.MyLibraryOrId);
            }

            string url = String.Concat(Settings.Endpoints.Default.BaseUrl, string.Format(Settings.Endpoints.Default.MyLibraryFolder, folder.Id), GetQueryParameters(new object[] { "include_payload", includePayload } ));
            string json = folder.ToJSON();
            RawApiResponse response = RestClient.Put(url, UserServiceContext.AccessToken, UserServiceContext.ApiKey, json);
            try
            {
                var updatedFolder = response.Get<MyLibraryFolder>();
                return updatedFolder;
            }
            catch (Exception ex)
            {
                throw new CtctException(ex.Message, ex);
            }  
		}