LotteryServerList.aspx.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Web;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using CB.Common;
  9. using CB.Data;
  10. using CB.Entity;
  11. using CB.Framework;
  12. namespace CB.Admin.Plugins.TVServer
  13. {
  14. public partial class LotteryServerList : AdminPage
  15. {
  16. public int sid;
  17. public string TrendName;
  18. public IList<TVServerInfo> ListTVserver = new List<TVServerInfo>();
  19. public IList<LotteryInfo> ListLottery = new List<LotteryInfo>();
  20. public IList<LotteryServerInfo> ListLotteryServer = new List<LotteryServerInfo>();
  21. public IList<AreaInfo> ListArea = new List<AreaInfo>();
  22. protected void Page_Load(object sender, EventArgs e)
  23. {
  24. sid = WRequest.GetString("Id").ToInt();
  25. ListTVserver = TVServerService.ToList();
  26. ListLottery = LotteryService.ToList();
  27. ListLotteryServer = LotteryServerService.ToList();
  28. ListArea = AreaService.ToList();
  29. if (!Page.IsPostBack)
  30. {
  31. InitData();
  32. }
  33. }
  34. protected override void InitData()
  35. {
  36. BindServerName();
  37. BindTree();
  38. BindRepeaterList();
  39. }
  40. protected void btnSearch_Click(object sender, EventArgs e)
  41. {
  42. BindRepeaterList();
  43. }
  44. protected override void BindRepeaterList()
  45. {
  46. int recordCount;
  47. repeaterList.DataSource = null;
  48. var list = CB.Data.LotteryServerService.ToPaging(new Entity.LotteryServerInfo() { Sid = GetSid(txtSid.Text.Trim()) }, AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, out recordCount);
  49. repeaterList.DataSource = list;
  50. repeaterList.DataBind();
  51. }
  52. protected int GetSid(string serverName)
  53. {
  54. foreach (var item in ListTVserver)
  55. {
  56. if (item.Name == serverName)
  57. {
  58. return item.Id;
  59. }
  60. }
  61. return 0;
  62. }
  63. protected void repeaterList_ItemCommand(object source, RepeaterCommandEventArgs e)
  64. {
  65. if ("dndel" == e.CommandName)
  66. {
  67. if (CB.Data.LotteryServerService.Delete(TypeConverter.ObjectToInt(e.CommandArgument)))
  68. Logs("删除走势图", string.Format("走势图[ID={0}]", e.CommandArgument));
  69. BindRepeaterList();
  70. }
  71. if ("edit" == e.CommandName)
  72. {
  73. Entity.LotteryServerInfo Entity = CB.Data.LotteryServerService.Get(TypeConverter.ObjectToInt(e.CommandArgument));
  74. if (null == Entity)
  75. return;
  76. labID.Text = Entity.Id.ToString();
  77. BindServerName(Entity.Sid);
  78. BindTree(Entity.Sid);
  79. }
  80. }
  81. //修改或者保存
  82. protected void btnEdit_Click(object sender, EventArgs e)
  83. {
  84. Tuple<bool, string> validate = DataValidate();
  85. if (validate.Item1) //通过验证
  86. {
  87. string _modules = txtModules.Value;
  88. List<LotteryServerInfo> list = new List<LotteryServerInfo>();
  89. string[] _data = _modules.Split(',');
  90. foreach (string item in _data)
  91. {
  92. if (!string.IsNullOrEmpty(item) && item != "0")
  93. {
  94. list.Add(new LotteryServerInfo()
  95. {
  96. Id = labID.Text.ToInt(),
  97. Sid = dpSid.SelectedValue.ToInt(),
  98. Cid = item.ToInt()
  99. });
  100. }
  101. }
  102. //删除以前配置
  103. LotteryServerService.DeleteSid(dpSid.SelectedValue.ToInt());
  104. foreach (var entity in list)
  105. {
  106. LotteryServerService.Save(entity);
  107. Logs("新增数据中心对应彩种服务器成功", string.Format("新增数据中心对应彩种服务器成功[Cid={0},Sid={1}]", entity.Cid, entity.Sid));
  108. }
  109. if (labID.Text != "") //修改
  110. {
  111. ShowMessageBox("提示:修改成功!", string.Format("LotteryServerList.aspx?authPage={0}", authPage));
  112. }
  113. else //新增
  114. {
  115. ShowMessageBox("提示:新增成功!", string.Format("LotteryServerList.aspx?authPage={0}", authPage));
  116. }
  117. ClearPage();
  118. }
  119. else
  120. {
  121. Response.Write(string.Format("<script>alert('{0}');window.opener.location.href=window.opener.location.href;</script>", validate.Item2));
  122. }
  123. BindRepeaterList();
  124. }
  125. //数据验证
  126. public Tuple<bool, string> DataValidate()
  127. {
  128. if (dpSid.SelectedValue == "-1")
  129. return new Tuple<bool, string>(false, "请检查是否填完数据(所有项都必须填写值)!");
  130. return new Tuple<bool, string>(true, "验证通过!");
  131. }
  132. protected void AspNetPager1_PageChanged(object sender, EventArgs e)
  133. {
  134. BindRepeaterList();
  135. }
  136. //清空
  137. protected void btnClear_Click(object sender, EventArgs e)
  138. {
  139. ClearPage();
  140. }
  141. //清空界面数据
  142. protected void ClearPage()
  143. {
  144. labID.Text = "";
  145. dpSid.SelectedValue = "-1";
  146. }
  147. protected void BindServerName(int Sid)
  148. {
  149. foreach (var item in ListTVserver)
  150. {
  151. if (item.Id == Sid)
  152. {
  153. dpSid.SelectedValue = item.Id.ToString();
  154. }
  155. }
  156. }
  157. protected void BindServerName()
  158. {
  159. dpSid.Items.Add(new ListItem("==请选择==", "-1"));
  160. foreach (var item in ListTVserver)
  161. {
  162. dpSid.Items.Add(new ListItem(item.Name, item.Id.ToString()));
  163. }
  164. }
  165. protected string BindLotteryValue(int Cid)
  166. {
  167. foreach (var item in ListLottery)
  168. {
  169. if (item.Id == Cid)
  170. {
  171. return item.Name;
  172. }
  173. }
  174. return "";
  175. }
  176. protected string BindServerValue(int Sid)
  177. {
  178. foreach (var item in ListTVserver)
  179. {
  180. if (item.Id == Sid)
  181. {
  182. return item.Name;
  183. }
  184. }
  185. return "";
  186. }
  187. protected void BindTree(int sid = 0)
  188. {
  189. litPrivilege.Text = "";
  190. List<int> haveCids;
  191. haveCids = ListLotteryServer.ToList().FindAll((info) => { return info.Sid == sid; }).Select(
  192. (en) => { return en.Cid; }).ToList();
  193. StringBuilder sp = new StringBuilder(2000);
  194. sp.Append("<ul>");
  195. for (int i = 0; i < ListArea.Count; i++)
  196. {
  197. var areaItem = ListArea[i];
  198. if (i == 0)
  199. {
  200. sp.AppendFormat("<li tname=\"-1\" class=\"jstree-open\" tvalue=\"{0}\"><a>{1}</a>", 0,
  201. areaItem.Name);
  202. }
  203. else
  204. {
  205. sp.AppendFormat("<li tname=\"-1\" class=\"jstree-close\" tvalue=\"{0}\"><a>{1}</a>", 0,
  206. areaItem.Name);
  207. }
  208. sp.Append("<ul>");
  209. foreach (var lotteryItem in ListLottery)
  210. {
  211. if (areaItem.Aid == lotteryItem.Aid)
  212. {
  213. if (haveCids.Contains(lotteryItem.Cid))
  214. {
  215. sp.AppendFormat("<li tname=\"-1\" class=\"jstree-checked jstree-icon \" tvalue=\"{0}\"><a>{1}</a></li>", lotteryItem.Cid, lotteryItem.Name);
  216. continue;
  217. }
  218. sp.AppendFormat("<li tname=\"-1\" class=\"jstree-icon jstree-last jstree-leaf jstree-unchecked \" tvalue=\"{0}\"><a>{1}</a></li>", lotteryItem.Cid, lotteryItem.Name);
  219. }
  220. }
  221. sp.Append("</ul>");
  222. sp.Append("</li>");
  223. }
  224. sp.Append("</ul>");
  225. litPrivilege.Text = sp.ToString();
  226. }
  227. protected void dpSid_SelectedIndexChanged(object sender, EventArgs e)
  228. {
  229. BindTree(dpSid.SelectedValue.ToInt());
  230. }
  231. }
  232. }