private void btnSearch_Click(object sender, EventArgs e) { List <PTSite> searchSites = new List <PTSite>(); foreach (var control in panelSite.Controls) { if (control is CheckBox) { var cb = (control as CheckBox); if (cb.Checked && cb.Tag is YUEnums.PTEnum) { YUEnums.PTEnum siteId = (YUEnums.PTEnum)cb.Tag; var site = PTSite.Sites.Where(x => x.Id == siteId).FirstOrDefault(); if (site != null && !searchSites.Contains(site)) { searchSites.Add(site); } } } } if (searchSites.Count > 0) { SearchTorrent(searchSites, txtSearch.Text); } else { LogMessage(null, "请选择站点。", true); } }
public UserFrm(PTUser user) { if (user == null) { User = new PTUser(); } else { User = user; } InitializeComponent(); YUEnums.PTEnum selectSiteId = User.Site != null ? User.Site.Id : 0; //绑定数据源,必须是属性,不能为字段 BindingSource bs = new BindingSource(); bs.DataSource = PTSite.Sites.ToDictionary(x => x.Id, x => x.Name); cmbSite.ValueMember = "Key"; cmbSite.DisplayMember = "Value"; cmbSite.DataSource = bs; txtUserName.DataBindings.Add("Text", User, "UserName"); txtPassWord.DataBindings.Add("Text", User, "PassWord"); txtAnswer.DataBindings.Add("Text", User, "SecuityAnswer"); nudOrder.DataBindings.Add("Value", User, "SecurityQuestionOrder"); cbTwo_StepVerification.DataBindings.Add("Checked", User, "isEnableTwo_StepVerification"); if (selectSiteId != 0) { cmbSite.SelectedValue = selectSiteId; } }
public static IPT GetPT(YUEnums.PTEnum type, params object[] args) { lock (thisLock) { if (notRegistered) { RegisterPT(); } } IPT instance = null; if (_mapServer.ContainsKey(type)) { instance = TypesContainer.CreateInstance <IPT>(_mapServer[type], args); } else { var argList = args.ToList(); argList.Add(type); instance = TypesContainer.CreateInstance <IPT>("YU.PT.ExtendPT,YU.PT", argList.ToArray()); } if (instance == null) { throw new Exception("instance==null"); } return(instance); }
/// <summary> /// 删除用户 /// </summary> /// <param name="siteId"></param> /// <returns></returns> public static int DeleteUser(YUEnums.PTEnum siteId) { string delSql = "DELETE FROM USER WHERE PTSITEID = @PTSITEID"; SQLiteParameter parm = new SQLiteParameter("@PTSITEID", DbType.Int32); parm.Value = (int)siteId; return(DBUtils.ExecuteNonQuery(delSql, parm)); }
private void DownLoadFiles(bool isOepn = false) { if (dgvTorrent.SelectedRows != null && dgvTorrent.SelectedRows.Count > 0) { var searchTorrents = dgvTorrent.Tag as List <PTTorrent>; DataGridViewCellCollection cells = dgvTorrent.SelectedRows[0].Cells; string torrentId = cells["Id"].Value.TryPareValue <string>(); YUEnums.PTEnum siteId = (YUEnums.PTEnum)EnumUtils.GetKeyByValue <YUEnums.PTEnum>(cells["SiteId"].Value.TryPareValue <string>()); if (searchTorrents != null && searchTorrents.Count > 0) { var torrent = searchTorrents.Where(x => x.Id == torrentId && x.SiteId == siteId).FirstOrDefault(); if (torrent != null) { Task t = Task.Run(() => { IPT pt = PTFactory.GetPT(siteId, Global.Users.Where(x => x.Site.Id == siteId).FirstOrDefault()); string fileName = pt.GetTorrentDownFileName(torrent); string filePath = string.Empty; this.Invoke(new Action(() => { SaveFileDialog sfd = new SaveFileDialog(); sfd.FileName = fileName; sfd.Filter = "TORRENT 文件|*.torrent;"; if (sfd.ShowDialog() == DialogResult.OK) { filePath = sfd.FileName; var downTask = Task.Run(() => { HttpUtils.DownLoadFiles(torrent.DownUrl, filePath, 1024, (pt as AbstractPT).Cookie, isOepn); }); TaskCallBack(downTask, "下载种子过程中出现错误,错误原因:"); } })); }); TaskCallBack(t, "下载种子过程中出现错误,错误原因:"); } } else { LogMessage(PTSite.Sites.Where(x => x.Id == siteId).FirstOrDefault(), string.Format("下载失败,失败原因:获取种子信息失败。"), true); } } }
public static IPT GetPT(YUEnums.PTEnum type, params object[] args) { lock (thisLock) { if (notRegistered) { RegisterPT(); } } IPT instance = null; if (_mapServer.ContainsKey(type)) { instance = TypesContainer.CreateInstance <IPT>(_mapServer[type], args); } if (instance == null) { throw new Exception("instance==null"); } return(instance); }
private void BtnDel_Click(object sender, EventArgs e) { PTUser user = ((sender as Control).Tag as PTUser); if (user == null) { throw new Exception("获取用户数据失败。"); } else { YUEnums.PTEnum siteId = user.Site.Id; string delSql = "DELETE FROM USER WHERE PTSITEID = @PTSITEID"; SQLiteParameter parm = new SQLiteParameter("@PTSITEID", DbType.Int32); parm.Value = (int)siteId; if (DBUtils.ExecuteNonQuery(delSql, parm) > 0) { OnUserChangeEventArgs el = new OnUserChangeEventArgs(); el.User = user; OnUserChanged(el); } } }
public UserFrm(PTUser user) { if (user == null) { User = new PTUser(); } else { User = ObjectUtils.CreateCopy <PTUser>(user); } InitializeComponent(); YUEnums.PTEnum selectSiteId = User.Site != null ? User.Site.Id : 0; //绑定数据源,必须是属性,不能为字段 BindingSource bs = new BindingSource(); bs.DataSource = ObjectUtils.CreateCopy <Dictionary <YUEnums.PTEnum, string> >(Global.Sites.ToDictionary(x => x.Id, x => x.Name)); cmbSite.ValueMember = "Key"; cmbSite.DisplayMember = "Value"; cmbSite.DataSource = bs; if (selectSiteId != 0) { cmbSite.SelectedValue = selectSiteId; } ReBindControl(); var pt = PTFactory.GetPT(User.Site.Id, User) as AbstractPT; if (File.Exists(pt.GetCookieFilePath())) { rtbInput.Text = File.ReadAllText(pt.GetCookieFilePath()); } }