using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CB.Common; using CB.Data; using CB.Entity; using CB.Framework; using CB.TVUCenter.Data; using CB.TVUCenter.Entity; namespace CB.Admin.Plugins.TVServer { public partial class TVOnlineUserList : AdminPage { public static IList OnLineUserList; public static IList LockUserList; protected void Page_Load(object sender, EventArgs e) { OnLineUserList = OnlineUsers.onlineUserList; LockUserList = OnlineUsers.lockUserList; if (!Page.IsPostBack) { InitData(); } } protected override void InitData() { BindRepeaterList(); } private List ToPaging(OnlineUserInfo entity, int pageSize, int pageIndex, out int recordCount) { if (string.IsNullOrEmpty(entity.UserName)) { recordCount = OnLineUserList.Count; return OnLineUserList.ToList().Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); } else { recordCount = 1; return OnLineUserList.ToList().FindAll((user) => { return user.UserName == entity.UserName; }); } } protected override void BindRepeaterList() { int recordCount; var list = ToPaging(new OnlineUserInfo() { UserName = txtMAC.Text.Trim() }, AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, out recordCount); repeaterList.DataSource = list; repeaterList.DataBind(); AspNetPager1.RecordCount = recordCount; } protected void btnSearch_Click(object sender, EventArgs e) { AspNetPager1.CurrentPageIndex = 1; BindRepeaterList(); } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { BindRepeaterList(); } protected void repeaterList_ItemCommand(object source, RepeaterCommandEventArgs e) { string userName = e.CommandArgument.ToString(); if ("isLock" == e.CommandName) { if (isLockUser(userName)) { OnlineUsers.AdminUnLockOnlineUser(new OnlineUserInfo() { UserName = userName }); ; Logs("解锁用户成功", string.Format("解锁用户成功[UserName={0}]", userName)); ShowMessageBox("解锁用户成功"); } else { OnlineUsers.AdminLockOnlineUser(new OnlineUserInfo() { UserName = userName }); Logs("锁定用户成功", string.Format("锁定用户成功[UserName={0}]", userName)); ShowMessageBox("锁定用户成功"); } } BindRepeaterList(); } protected string GetStatus(object user) { string usreName = user.ToString(); if (!string.IsNullOrEmpty(usreName)) { foreach (var item in LockUserList) { if (item.UserName == usreName) { return "解锁"; } } } return "锁定"; } public bool isLockUser(string userName) { foreach (var item in LockUserList) { if (item.UserName == userName) { return true; } } return false; } } }