Пример #1
0
 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 }
     })));
 }
Пример #2
0
 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;
     }
 }