public void DistributionPause(IEnumerable <string> data) { TransmissionClient.Querty querty = JsonConvert.DeserializeObject <TransmissionClient.Querty>(Encoding.UTF8.GetString(this._webClient.UploadData(this._URL, "POST", Encoding.UTF8.GetBytes("{\"method\":\"torrent-get\",\"arguments\":{\"fields\":[\"hashString\", \"id\"]}}")))); if (querty == null || querty.arguments == null || (querty.arguments.torrents == null || querty.arguments.torrents.Length == 0)) { return; } int[] array = ((IEnumerable <TransmissionClient.Torrent>)querty.arguments.torrents).Join <TransmissionClient.Torrent, string, string, int>(data, (Func <TransmissionClient.Torrent, string>)(t => t.hashString.ToUpper()), (Func <string, string>)(d => d), (Func <TransmissionClient.Torrent, string, int>)((t, d) => t.id)).ToArray <int>(); if (array.Length == 0) { return; } this._webClient.UploadData(this._URL, "POST", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject((object)new { method = "torrent-stop", arguments = new{ ids = array } }))); }
public List <TopicInfo> GetAllTorrentHash() { try { TransmissionClient.Querty querty = JsonConvert.DeserializeObject <TransmissionClient.Querty>(Encoding.UTF8.GetString(this._webClient.UploadData(this._URL, "POST", Encoding.UTF8.GetBytes("{\"method\":\"torrent-get\",\"arguments\":{\"fields\":[\"hashString\", \"totalSize\", \"percentDone\", \"error\", \"status\"]}}")))); if (querty == null || querty.arguments == null || (querty.arguments.torrents == null || querty.arguments.torrents.Length == 0)) { return(new List <TopicInfo>()); } return(((IEnumerable <TransmissionClient.Torrent>)querty.arguments.torrents).Select <TransmissionClient.Torrent, TopicInfo>((Func <TransmissionClient.Torrent, TopicInfo>)(t => new TopicInfo() { Hash = t.hashString.ToUpper(), IsKeep = t.percentDone == Decimal.One && t.error == 0, IsDownload = true, IsRun = !(t.percentDone == Decimal.One) || t.error != 0 ? new bool?() : new bool?(t.status == 6) })).ToList <TopicInfo>()); } catch (Exception ex) { TransmissionClient._logger.Error(ex.Message); TransmissionClient._logger.Debug(ex.StackTrace); throw ex; } }