TrendToolEdit.aspx.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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.Entity;
  8. using CB.Data;
  9. using CB.Framework;
  10. using CB.Common;
  11. using System.Reflection;
  12. using CB.TrendTool;
  13. namespace CB.Admin.Plugins.TrendTool
  14. {
  15. public partial class TrendToolListEdit : AdminPage
  16. {
  17. protected void Page_Load(object sender, EventArgs e)
  18. {
  19. if (!IsPostBack)
  20. { LoadData(); }
  21. }
  22. private void LoadData()
  23. {
  24. List<ToolFunctionAttr> list = new List<ToolFunctionAttr>();
  25. BindList<ToolFilterRule>(ref list);
  26. foreach (ToolFunctionAttr item in list)
  27. {
  28. string type = "【特殊过滤】";
  29. if (((int)item.FilterNorm).ToString() == "1")
  30. {
  31. type = "【通用过滤】";
  32. }
  33. ListItem li = new ListItem(type + item.Name, ((int)item.FilterType).ToString());
  34. ddlFilterFunEnum.Items.Add(li);
  35. }
  36. int ConfigID = WRequest.GetInt("ConfigID", 0);
  37. TrendToolConfigInfo info = new TrendToolConfigInfo();
  38. info = TrendToolConfigService.Get(ConfigID);
  39. if (info.ConfigID > 0)
  40. {
  41. txtConfigID.Value = info.ConfigID.ToString();
  42. txtPageID.Text = info.PageID.ToString();
  43. txtFilterNumber.Text = info.FilterNumber.ToString();
  44. txtFilterHeader.Text = info.FilterHeader;
  45. txtFilterRemark.Text = info.FilterRemark;
  46. txtFilterTypeName.Text = info.FilterTypeName;
  47. txtFilterOrder.Text = info.FilterOrder.ToString();
  48. string FunEnum = Convert.ToInt32(info.FilterFunEnum).ToString();
  49. ListItem liEnum = ddlFilterFunEnum.Items.FindByValue(FunEnum);
  50. if (liEnum != null)
  51. {
  52. ddlFilterFunEnum.ClearSelection();
  53. liEnum.Selected = true;
  54. }
  55. string PageGroup = info.PageGroup.ToString();
  56. ListItem liGroup = ddlPageGroup.Items.FindByValue(PageGroup);
  57. if (liGroup != null)
  58. {
  59. ddlPageGroup.ClearSelection();
  60. liGroup.Selected = true;
  61. }
  62. string IsNorm = info.IsNorm.ToString().ToLower();
  63. ListItem liNorm = ddlIsNorm.Items.FindByValue(PageGroup);
  64. if (liNorm != null)
  65. {
  66. ddlIsNorm.ClearSelection();
  67. liNorm.Selected = true;
  68. }
  69. string IsBase = info.IsBaseData.ToString().ToLower();
  70. ListItem liBase = ddlIsBaseData.Items.FindByValue(IsBase);
  71. if (liBase != null)
  72. {
  73. ddlIsBaseData.ClearSelection();
  74. liBase.Selected = true;
  75. }
  76. string IsInclude = info.IncludeHtml;
  77. ListItem liInclude = ddlIncludeHtml.Items.FindByValue(IsInclude);
  78. if (liInclude != null)
  79. {
  80. ddlIncludeHtml.ClearSelection();
  81. liInclude.Selected = true;
  82. }
  83. string filterStatus = info.FilterStatus.ToString().ToLower();
  84. ListItem liStatus = ddlFilterStatus.Items.FindByValue(filterStatus);
  85. if (liStatus != null)
  86. {
  87. ddlFilterStatus.ClearSelection();
  88. liStatus.Selected = true;
  89. }
  90. string filterSave = info.FilterIsSave.ToString().ToLower();
  91. ListItem liSave = ddlFilterIsSave.Items.FindByValue(filterSave);
  92. if (liSave != null)
  93. {
  94. ddlFilterIsSave.ClearSelection();
  95. liSave.Selected = true;
  96. }
  97. }
  98. }
  99. protected void btnUpdate_Click(object sender, EventArgs e)
  100. {
  101. TrendToolConfigInfo info = PageDataToEntity();
  102. if (TrendToolConfigService.Save(info))
  103. {
  104. ShowMessageBox("保存成功");
  105. }
  106. else
  107. {
  108. ShowMessageBox("保存失败!");
  109. }
  110. }
  111. //绑定方法列表方法
  112. private void BindList<T>(ref List<ToolFunctionAttr> lists)
  113. {
  114. MethodInfo[] methodList = typeof(T).GetMethods();
  115. if (null != methodList && 0 < methodList.Length)
  116. {
  117. foreach (MethodInfo item in methodList)
  118. {
  119. ToolFunctionAttr[] Description = item.GetCustomAttributes(typeof(ToolFunctionAttr), false) as ToolFunctionAttr[];
  120. if (null != Description && 1 <= Description.Length)
  121. lists.Add(new ToolFunctionAttr(Description[0].Name, Description[0].FilterType, Description[0].FilterNorm));
  122. }
  123. }
  124. }
  125. private TrendToolConfigInfo PageDataToEntity()
  126. {
  127. TrendToolConfigInfo info = new TrendToolConfigInfo();
  128. info.ConfigID = TypeConverter.StrToInt(txtConfigID.Value.Trim());
  129. info.PageID = TypeConverter.StrToInt(txtPageID.Text.Trim());
  130. info.FilterNumber = TypeConverter.StrToInt(txtFilterNumber.Text.Trim());
  131. info.FilterHeader = txtFilterHeader.Text;
  132. info.FilterRemark = txtFilterRemark.Text;
  133. info.FilterTypeName = txtFilterTypeName.Text;
  134. info.FilterFunEnum = TypeConverter.StringToEnum<FilterType>(ddlFilterFunEnum.SelectedValue);
  135. info.PageGroup = TypeConverter.StrToInt(ddlPageGroup.SelectedValue, 0);
  136. info.IsBaseData = TypeConverter.StrToBool(ddlIsBaseData.SelectedValue, false);
  137. info.IncludeHtml = string.IsNullOrEmpty(ddlIncludeHtml.SelectedValue) ? ddlIncludeHtml.SelectedValue : "tr";
  138. info.FilterStatus = TypeConverter.StrToBool(ddlFilterStatus.SelectedValue, true);
  139. info.FilterIsSave = TypeConverter.StrToBool(ddlFilterIsSave.SelectedValue, false);
  140. info.FilterOrder = TypeConverter.StrToInt(txtFilterOrder.Text, 0);
  141. info.IsNorm = TypeConverter.StringToEnum<FilterNorm>(ddlIsNorm.SelectedValue);
  142. return info;
  143. }
  144. }
  145. }