/// <summary> /// Executes the upload file. /// </summary> /// <param name="redmineManager">The redmine manager.</param> /// <param name="address">The address.</param> /// <param name="data">The data.</param> /// <param name="methodName">Name of the method.</param> /// <returns></returns> public static Upload ExecuteUploadFile(RedmineManager redmineManager, string address, byte[] data, string methodName) { using (var wc = redmineManager.CreateWebClient(null, true)) { try { var response = wc.UploadData(address, data); var responseString = Encoding.ASCII.GetString(response); return(RedmineSerializer.Deserialize <Upload>(responseString, redmineManager.MimeFormat)); } catch (WebException webException) { webException.HandleWebException(methodName, redmineManager.MimeFormat); } return(null); } }
/// <summary> /// Executes the download list. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="redmineManager">The redmine manager.</param> /// <param name="address">The address.</param> /// <param name="methodName">Name of the method.</param> /// <param name="parameters">The parameters.</param> /// <returns></returns> public static PaginatedObjects <T> ExecuteDownloadList <T>(RedmineManager redmineManager, string address, string methodName, NameValueCollection parameters = null) where T : class, new() { using (var wc = redmineManager.CreateWebClient(parameters)) { try { var response = wc.DownloadString(address); return(RedmineSerializer.DeserializeList <T>(response, redmineManager.MimeFormat)); } catch (WebException webException) { webException.HandleWebException(methodName, redmineManager.MimeFormat); } return(null); } }
/// <summary> /// Executes the download. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="redmineManager">The redmine manager.</param> /// <param name="address">The address.</param> /// <param name="methodName">Name of the method.</param> /// <param name="parameters">The parameters.</param> /// <returns></returns> public static async Task <T> ExecuteDownload <T>(RedmineManager redmineManager, string address, string methodName, NameValueCollection parameters = null) where T : class, new() { using (var wc = redmineManager.CreateWebClient(parameters)) { try { var response = await wc.DownloadStringTaskAsync(address).ConfigureAwait(false); return(RedmineSerializer.Deserialize <T>(response, redmineManager.MimeFormat)); } catch (WebException webException) { webException.HandleWebException(methodName, redmineManager.MimeFormat); } return(default(T)); } }
/// <summary> /// Executes the download. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="redmineManager">The redmine manager.</param> /// <param name="address">The address.</param> /// <param name="methodName">Name of the method.</param> /// <param name="parameters">The parameters.</param> /// <returns></returns> public static T ExecuteDownload <T>(RedmineManager redmineManager, string address, string methodName, NameValueCollection parameters = null) where T : class, new() { using (var wc = redmineManager.CreateWebClient(parameters)) { try { var response = wc.DownloadString(address); if (!string.IsNullOrEmpty(response)) { return(RedmineSerializer.Deserialize <T>(response, redmineManager.MimeFormat)); } } catch (WebException webException) { webException.HandleWebException(methodName, redmineManager.MimeFormat); } return(default(T)); } }
/// <summary> /// Executes the upload. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="redmineManager">The redmine manager.</param> /// <param name="address">The address.</param> /// <param name="actionType">Type of the action.</param> /// <param name="data">The data.</param> /// <param name="methodName">Name of the method.</param> /// <returns></returns> public static T ExecuteUpload <T>(RedmineManager redmineManager, string address, string actionType, string data, string methodName) where T : class, new() { using (var wc = redmineManager.CreateWebClient(null)) { try { if (actionType == HttpVerbs.POST || actionType == HttpVerbs.DELETE || actionType == HttpVerbs.PUT || actionType == HttpVerbs.PATCH) { var response = wc.UploadString(address, actionType, data); return(RedmineSerializer.Deserialize <T>(response, redmineManager.MimeFormat)); } } catch (WebException webException) { webException.HandleWebException(methodName, redmineManager.MimeFormat); } return(default(T)); } }