/pigeoncms/Modules/PigeonCms.LogsAdmin/views/Default.ascx.cs

http://pigeoncms.googlecode.com/ · C# · 318 lines · 278 code · 40 blank · 0 comment · 22 complexity · e0348862c16daf4771daf077f3aa0682 MD5 · raw file

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11. using System.Web.Caching;
  12. using System.Collections.Generic;
  13. using PigeonCms;
  14. public partial class Controls_Default : PigeonCms.BaseModuleControl
  15. {
  16. protected void Page_Load(object sender, EventArgs e)
  17. {
  18. if (!Page.IsPostBack)
  19. {
  20. loadDropTopRowsFilter();
  21. loadDropsModuleTypes();
  22. loadDropTracerItemTypeFilter();
  23. loadDropDatesRangeFilter();
  24. }
  25. }
  26. protected void DropTopRowsFilter_SelectedIndexChanged(object sender, EventArgs e)
  27. {
  28. try { Grid1.DataBind(); }
  29. catch (Exception ex)
  30. {
  31. LblErr.Text = ex.Message;
  32. }
  33. }
  34. protected void DropTracerItemTypeFilter_SelectedIndexChanged(object sender, EventArgs e)
  35. {
  36. try { Grid1.DataBind(); }
  37. catch(Exception ex)
  38. {
  39. LblErr.Text = ex.Message;
  40. }
  41. }
  42. protected void DropModuleTypesFilter_SelectedIndexChanged(object sender, EventArgs e)
  43. {
  44. try { Grid1.DataBind(); }
  45. catch (Exception ex)
  46. {
  47. LblErr.Text = ex.Message;
  48. }
  49. }
  50. protected void DropDatesRangeFilter_SelectedIndexChanged(object sender, EventArgs e)
  51. {
  52. try { Grid1.DataBind(); }
  53. catch (Exception ex)
  54. {
  55. LblErr.Text = ex.Message;
  56. }
  57. }
  58. protected void TxtDescriptionFilter_TextChanged(object sender, EventArgs e)
  59. {
  60. try { Grid1.DataBind(); }
  61. catch (Exception ex)
  62. {
  63. LblErr.Text = ex.Message;
  64. }
  65. }
  66. protected void ObjDs1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
  67. {
  68. var filter = new LogItemsFilter();
  69. filter.TopRows = int.Parse(DropTopRowsFilter.SelectedValue);
  70. if (DropTracerItemTypeFilter.SelectedValue != "")
  71. {
  72. filter.FilterType = true;
  73. filter.Type = (TracerItemType)Enum.Parse(typeof(TracerItemType), DropTracerItemTypeFilter.SelectedValue);
  74. }
  75. if (DropModuleTypesFilter.SelectedValue != "")
  76. {
  77. filter.ModuleFullName = DropModuleTypesFilter.SelectedValue;
  78. }
  79. if (DropDatesRangeFilter.SelectedValue != "")
  80. {
  81. DatesRange.RangeType rangeType =
  82. (DatesRange.RangeType)Enum.Parse(typeof(DatesRange.RangeType), DropDatesRangeFilter.SelectedValue);
  83. DatesRange datesRange = new DatesRange(rangeType);
  84. filter.DateInsertedRange = datesRange;
  85. }
  86. if (!string.IsNullOrEmpty(TxtDescriptionFilter.Text))
  87. {
  88. filter.DescriptionPart = TxtDescriptionFilter.Text;
  89. }
  90. e.InputParameters["filter"] = filter;
  91. }
  92. protected void Grid1_DataBinding(object sender, EventArgs e)
  93. {
  94. }
  95. protected void Grid1_RowCommand(object sender, GridViewCommandEventArgs e)
  96. {
  97. if (e.CommandName == "Select")
  98. {
  99. editRow(int.Parse(e.CommandArgument.ToString()));
  100. }
  101. if (e.CommandName == "DeleteRow")
  102. {
  103. deleteRow(int.Parse(e.CommandArgument.ToString()));
  104. }
  105. }
  106. protected void Grid1_RowCreated(object sender, GridViewRowEventArgs e)
  107. {
  108. if (e.Row.RowType == DataControlRowType.Header)
  109. Utility.AddGlyph(Grid1, e.Row);
  110. }
  111. protected void Grid1_RowDataBound(object sender, GridViewRowEventArgs e)
  112. {
  113. if (e.Row.RowType == DataControlRowType.DataRow)
  114. {
  115. var item = new PigeonCms.LogItem();
  116. item = (PigeonCms.LogItem)e.Row.DataItem;
  117. Literal LitModule = (Literal)e.Row.FindControl("LitModule");
  118. LitModule.Text = item.ModuleFullName;
  119. Literal LitUrl = (Literal)e.Row.FindControl("LitUrl");
  120. LitUrl.Text = Utility.Html.GetTextPreview(item.Url, 40, "");
  121. Literal LitDescription = (Literal)e.Row.FindControl("LitDescription");
  122. LitDescription.Text = Utility.Html.GetTextPreview(item.Description, 80, "");
  123. Image ImgSel = (Image)e.Row.FindControl("ImgSel");
  124. switch (item.Type)
  125. {
  126. case TracerItemType.Debug:
  127. ImgSel.ImageUrl = Utility.GetThemedImageSrc("debug.gif");
  128. break;
  129. case TracerItemType.Info:
  130. ImgSel.ImageUrl = Utility.GetThemedImageSrc("info.gif");
  131. break;
  132. case TracerItemType.Warning:
  133. ImgSel.ImageUrl = Utility.GetThemedImageSrc("warning.gif");
  134. break;
  135. case TracerItemType.Alert:
  136. ImgSel.ImageUrl = Utility.GetThemedImageSrc("alert.gif");
  137. break;
  138. case TracerItemType.Error:
  139. ImgSel.ImageUrl = Utility.GetThemedImageSrc("error.gif");
  140. break;
  141. default:
  142. ImgSel.ImageUrl = Utility.GetThemedImageSrc("editfile.gif");
  143. break;
  144. }
  145. }
  146. }
  147. protected void BtnCancel_Click(object sender, EventArgs e)
  148. {
  149. LblErr.Text = "";
  150. LblOk.Text = "";
  151. MultiView1.ActiveViewIndex = 0;
  152. }
  153. protected void MultiView1_ActiveViewChanged(object sender, EventArgs e)
  154. {
  155. if (MultiView1.ActiveViewIndex == 0) //list view
  156. {
  157. }
  158. }
  159. #region private methods
  160. private void clearForm()
  161. {
  162. LitId.Text = "";
  163. LitCreated.Text = "";
  164. LitType.Text = "";
  165. LitModuleType.Text = "";
  166. LitView.Text = "";
  167. LitUrl.Text = "";
  168. LitDescription.Text = "";
  169. }
  170. private void form2obj(LogItem obj)
  171. {
  172. throw new NotImplementedException("form2obj");
  173. }
  174. private void obj2form(LogItem obj)
  175. {
  176. LitId.Text = obj.Id.ToString();
  177. LitCreated.Text = obj.DateInserted + " " + obj.UserInserted;
  178. LitType.Text = obj.Type.ToString();
  179. var module = new Module();
  180. module = new ModulesManager().GetByKey(obj.ModuleId);
  181. LitModuleType.Text = module.ModuleFullName;
  182. if (string.IsNullOrEmpty(module.ModuleFullName))
  183. {
  184. LitModuleType.Text += " " + Utility.GetErrorLabel("NotInstalledModuleType", "Not installed module type");
  185. }
  186. LitView.Text = module.CurrView;
  187. LitUserHostAddress.Text = obj.UserHostAddress;
  188. LitUserInserted.Text = obj.UserInserted;
  189. LitUrl.Text = obj.Url;
  190. LitDescription.Text = obj.Description;
  191. }
  192. private void editRow(int recordId)
  193. {
  194. var obj = new LogItem();
  195. LblOk.Text = "";
  196. LblErr.Text = "";
  197. clearForm();
  198. base.CurrentId = recordId;
  199. if (base.CurrentId == 0)
  200. { }
  201. else
  202. {
  203. obj = new LogItemsManager().GetByKey(base.CurrentId);
  204. obj2form(obj);
  205. }
  206. MultiView1.ActiveViewIndex = 1;
  207. }
  208. private void deleteRow(int recordId)
  209. {
  210. LblOk.Text = "";
  211. LblErr.Text = "";
  212. try
  213. {
  214. new LogItemsManager().DeleteById(recordId);
  215. }
  216. catch (Exception e)
  217. {
  218. LblErr.Text = e.Message;
  219. }
  220. Grid1.DataBind();
  221. }
  222. private void loadDropTracerItemTypeFilter()
  223. {
  224. DropTracerItemTypeFilter.Items.Clear();
  225. DropTracerItemTypeFilter.Items.Add(
  226. new ListItem(Utility.GetLabel("LblSelectType", "Select type"), ""));
  227. foreach (string item in Enum.GetNames(typeof(TracerItemType)))
  228. {
  229. int value = (int)Enum.Parse(typeof(TracerItemType), item);
  230. ListItem listItem = new ListItem(item, value.ToString());
  231. DropTracerItemTypeFilter.Items.Add(listItem);
  232. }
  233. }
  234. private void loadDropsModuleTypes()
  235. {
  236. try
  237. {
  238. DropModuleTypesFilter.Items.Clear();
  239. DropModuleTypesFilter.Items.Add(new ListItem(Utility.GetLabel("LblSelectModule", "Select module"), ""));
  240. ModuleTypeFilter filter = new ModuleTypeFilter();
  241. List<ModuleType> recordList = new ModuleTypeManager(true).GetByFilter(filter, "FullName");
  242. foreach (ModuleType record1 in recordList)
  243. {
  244. DropModuleTypesFilter.Items.Add(
  245. new ListItem(record1.FullName, record1.FullName));
  246. }
  247. }
  248. catch (Exception ex)
  249. {
  250. LblErr.Text = ex.ToString();
  251. }
  252. }
  253. private void loadDropDatesRangeFilter()
  254. {
  255. try
  256. {
  257. DropDatesRangeFilter.Items.Clear();
  258. DropDatesRangeFilter.Items.Add(new ListItem("Today", "3"));
  259. DropDatesRangeFilter.Items.Add(new ListItem("Always", "2"));
  260. DropDatesRangeFilter.Items.Add(new ListItem("Last week", "4"));
  261. DropDatesRangeFilter.Items.Add(new ListItem("Last month", "5"));
  262. }
  263. catch (Exception ex)
  264. {
  265. LblErr.Text = ex.ToString();
  266. }
  267. }
  268. private void loadDropTopRowsFilter()
  269. {
  270. DropTopRowsFilter.Items.Clear();
  271. DropTopRowsFilter.Items.Add(new ListItem("Last 50 items", "50"));
  272. DropTopRowsFilter.Items.Add(new ListItem("Last 100 items", "100"));
  273. DropTopRowsFilter.Items.Add(new ListItem("Last 200 items", "200"));
  274. DropTopRowsFilter.Items.Add(new ListItem("Last 500 items", "500"));
  275. DropTopRowsFilter.Items.Add(new ListItem("All items", "0"));
  276. }
  277. #endregion
  278. }