TVOnlineUserList.aspx.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using CB.Common;
  8. using CB.Data;
  9. using CB.Entity;
  10. using CB.Framework;
  11. using CB.TVUCenter.Data;
  12. using CB.TVUCenter.Entity;
  13. namespace CB.Admin.Plugins.TVServer
  14. {
  15. public partial class TVOnlineUserList : AdminPage
  16. {
  17. public static IList<OnlineUserInfo> OnLineUserList;
  18. public static IList<OnlineUserInfo> LockUserList;
  19. protected void Page_Load(object sender, EventArgs e)
  20. {
  21. OnLineUserList = OnlineUsers.onlineUserList;
  22. LockUserList = OnlineUsers.lockUserList;
  23. if (!Page.IsPostBack)
  24. {
  25. InitData();
  26. }
  27. }
  28. protected override void InitData()
  29. {
  30. BindRepeaterList();
  31. }
  32. private List<OnlineUserInfo> ToPaging(OnlineUserInfo entity, int pageSize, int pageIndex, out int recordCount)
  33. {
  34. if (string.IsNullOrEmpty(entity.UserName))
  35. {
  36. recordCount = OnLineUserList.Count;
  37. return OnLineUserList.ToList().Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
  38. }
  39. else
  40. {
  41. recordCount = 1;
  42. return OnLineUserList.ToList().FindAll((user) => { return user.UserName == entity.UserName; });
  43. }
  44. }
  45. protected override void BindRepeaterList()
  46. {
  47. int recordCount;
  48. var list = ToPaging(new OnlineUserInfo()
  49. {
  50. UserName = txtMAC.Text.Trim()
  51. }, AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, out recordCount);
  52. repeaterList.DataSource = list;
  53. repeaterList.DataBind();
  54. AspNetPager1.RecordCount = recordCount;
  55. }
  56. protected void btnSearch_Click(object sender, EventArgs e)
  57. {
  58. AspNetPager1.CurrentPageIndex = 1;
  59. BindRepeaterList();
  60. }
  61. protected void AspNetPager1_PageChanged(object sender, EventArgs e)
  62. {
  63. BindRepeaterList();
  64. }
  65. protected void repeaterList_ItemCommand(object source, RepeaterCommandEventArgs e)
  66. {
  67. string userName = e.CommandArgument.ToString();
  68. if ("isLock" == e.CommandName)
  69. {
  70. if (isLockUser(userName))
  71. {
  72. OnlineUsers.AdminUnLockOnlineUser(new OnlineUserInfo() { UserName = userName }); ;
  73. Logs("解锁用户成功", string.Format("解锁用户成功[UserName={0}]", userName));
  74. ShowMessageBox("解锁用户成功");
  75. }
  76. else
  77. {
  78. OnlineUsers.AdminLockOnlineUser(new OnlineUserInfo() { UserName = userName });
  79. Logs("锁定用户成功", string.Format("锁定用户成功[UserName={0}]", userName));
  80. ShowMessageBox("锁定用户成功");
  81. }
  82. }
  83. BindRepeaterList();
  84. }
  85. protected string GetStatus(object user)
  86. {
  87. string usreName = user.ToString();
  88. if (!string.IsNullOrEmpty(usreName))
  89. {
  90. foreach (var item in LockUserList)
  91. {
  92. if (item.UserName == usreName)
  93. {
  94. return "解锁";
  95. }
  96. }
  97. }
  98. return "锁定";
  99. }
  100. public bool isLockUser(string userName)
  101. {
  102. foreach (var item in LockUserList)
  103. {
  104. if (item.UserName == userName)
  105. {
  106. return true;
  107. }
  108. }
  109. return false;
  110. }
  111. }
  112. }