PageRenderTime 40ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/development2008/ClimateChangeChampionsSolution/CustomAdmin/Schools.ascx.cs

http://acms.codeplex.com
C# | 265 lines | 181 code | 11 blank | 73 comment | 47 complexity | 0ed15e362d2b0f3761b87739fdbdc4ef MD5 | raw file
Possible License(s): GPL-3.0, GPL-2.0
  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 Acms.Bll;
  8. using Telerik.Web.UI;
  9. public partial class Schools : Acms.AcmsControls.ContentControls.Admin.BaseCustomAdminControl
  10. {
  11. protected override void OnInit(EventArgs e)
  12. {
  13. base.OnInit(e);
  14. grid.NeedDataSource += new Telerik.Web.UI.GridNeedDataSourceEventHandler(grid_NeedDataSource);
  15. grid.SortCommand += new Telerik.Web.UI.GridSortCommandEventHandler(grid_SortCommand);
  16. download.DataBinding += new EventHandler(download_DataBinding);
  17. }
  18. void grid_SortCommand(object source, Telerik.Web.UI.GridSortCommandEventArgs e)
  19. {
  20. string[] sorts = e.CommandArgument.ToString().Split(',');
  21. IEnumerable<ClimateChangeChampionsData.School> data = GetData();
  22. foreach (string sort in sorts)
  23. {
  24. if(sort.Trim().Equals("AddressCounty", StringComparison.InvariantCultureIgnoreCase))
  25. {
  26. if (e.NewSortOrder == GridSortOrder.Descending)
  27. {
  28. data = data.OrderByDescending(x => x.AddressCounty);
  29. }
  30. else
  31. {
  32. data = data.OrderBy(x => x.AddressCounty);
  33. }
  34. }
  35. else if (sort.Trim().Equals("AddressTown", StringComparison.InvariantCultureIgnoreCase))
  36. {
  37. if (e.NewSortOrder == GridSortOrder.Descending)
  38. {
  39. data = data.OrderByDescending(x => x.AddressTown);
  40. }
  41. else
  42. {
  43. data = data.OrderBy(x => x.AddressTown);
  44. }
  45. }
  46. else if (sort.Trim().Equals("SchoolName", StringComparison.InvariantCultureIgnoreCase))
  47. {
  48. if (e.NewSortOrder == GridSortOrder.Descending)
  49. {
  50. data = data.OrderByDescending(x => x.SchoolName);
  51. }
  52. else
  53. {
  54. data = data.OrderBy(x => x.SchoolName);
  55. }
  56. }
  57. else if (sort.Trim().Equals("SchoolType", StringComparison.InvariantCultureIgnoreCase))
  58. {
  59. if (e.NewSortOrder == GridSortOrder.Descending)
  60. {
  61. data = data.OrderByDescending(x => x.SchoolType);
  62. }
  63. else
  64. {
  65. data = data.OrderBy(x => x.SchoolType);
  66. }
  67. }
  68. else if (sort.Trim().Equals("SchoolTel", StringComparison.InvariantCultureIgnoreCase))
  69. {
  70. if (e.NewSortOrder == GridSortOrder.Descending)
  71. {
  72. data = data.OrderByDescending(x => x.SchoolTel);
  73. }
  74. else
  75. {
  76. data = data.OrderBy(x => x.SchoolTel);
  77. }
  78. }
  79. else if (sort.Trim().Equals("Address1", StringComparison.InvariantCultureIgnoreCase))
  80. {
  81. if (e.NewSortOrder == GridSortOrder.Descending)
  82. {
  83. data = data.OrderByDescending(x => x.Address1);
  84. }
  85. else
  86. {
  87. data = data.OrderBy(x => x.Address1);
  88. }
  89. }
  90. else if (sort.Trim().Equals("LastName", StringComparison.InvariantCultureIgnoreCase))
  91. {
  92. if (e.NewSortOrder == GridSortOrder.Descending)
  93. {
  94. data = data.OrderByDescending(x => x.LastName);
  95. }
  96. else
  97. {
  98. data = data.OrderBy(x => x.LastName);
  99. }
  100. }
  101. else if (sort.Trim().Equals("FirstName", StringComparison.InvariantCultureIgnoreCase))
  102. {
  103. if (e.NewSortOrder == GridSortOrder.Descending)
  104. {
  105. data = data.OrderByDescending(x => x.FirstName);
  106. }
  107. else
  108. {
  109. data = data.OrderBy(x => x.FirstName);
  110. }
  111. }
  112. else if (sort.Trim().Equals("ContactEmail", StringComparison.InvariantCultureIgnoreCase))
  113. {
  114. if (e.NewSortOrder == GridSortOrder.Descending)
  115. {
  116. data = data.OrderByDescending(x => x.ContactEmail);
  117. }
  118. else
  119. {
  120. data = data.OrderBy(x => x.ContactEmail);
  121. }
  122. }
  123. else if (sort.Trim().Equals("ContactTel", StringComparison.InvariantCultureIgnoreCase))
  124. {
  125. if (e.NewSortOrder == GridSortOrder.Descending)
  126. {
  127. data = data.OrderByDescending(x => x.ContactTel);
  128. }
  129. else
  130. {
  131. data = data.OrderBy(x => x.ContactTel);
  132. }
  133. }
  134. else if (sort.Trim().Equals("SecondaryContactName", StringComparison.InvariantCultureIgnoreCase))
  135. {
  136. if (e.NewSortOrder == GridSortOrder.Descending)
  137. {
  138. data = data.OrderByDescending(x => x.SecondaryContactName);
  139. }
  140. else
  141. {
  142. data = data.OrderBy(x => x.SecondaryContactName);
  143. }
  144. }
  145. else if (sort.Trim().Equals("Created", StringComparison.InvariantCultureIgnoreCase))
  146. {
  147. if (e.NewSortOrder == GridSortOrder.Descending)
  148. {
  149. data = data.OrderByDescending(x => x.Created);
  150. }
  151. else
  152. {
  153. data = data.OrderBy(x => x.Created);
  154. }
  155. }
  156. else
  157. {
  158. throw new ApplicationException(string.Format("string '{0}' not handled", sort));
  159. }
  160. }
  161. GridHeaderItem header = e.Item as GridHeaderItem;
  162. grid.DataSource = data;
  163. grid.Rebind();
  164. }
  165. void download_DataBinding(object sender, EventArgs e)
  166. {
  167. download.DataSource = GetData();
  168. }
  169. void grid_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
  170. {
  171. grid.DataSource = GetData();
  172. }
  173. protected IEnumerable<ClimateChangeChampionsData.School> GetData()
  174. {
  175. ClimateChangeChampionsData.DataContext context = new ClimateChangeChampionsData.DataContext();
  176. return ClimateChangeChampionsData.School.GetAll(context, null).AsEnumerable();
  177. }
  178. protected void Page_Load(object sender, EventArgs e)
  179. {
  180. }
  181. /*protected void dsUsers_UpdatingData(object sender, Acms.DataControls.UpdatingDataEventArgs<User> e)
  182. {
  183. Telerik.Web.UI.GridDataItem editItem = gridSchools.EditItems[0] as Telerik.Web.UI.GridDataItem;
  184. if (editItem != null)
  185. {
  186. TextBox txtSchoolName = editItem.EditFormItem.FindControl("txtSchoolName") as TextBox;
  187. if (txtSchoolName != null)
  188. {
  189. if (e.Item.GetCustomProperty("School Name") != txtSchoolName.Text.Trim())
  190. {
  191. e.Item.SetCustomProperty("School Name", txtSchoolName.Text.Trim());
  192. }
  193. }
  194. DropDownList ddlType = editItem.EditFormItem.FindControl("ddlType") as DropDownList;
  195. if (ddlType != null)
  196. {
  197. if (e.Item.GetCustomProperty("School Type") != ddlType.SelectedValue)
  198. {
  199. e.Item.SetCustomProperty("School Type", ddlType.SelectedValue);
  200. }
  201. }
  202. TextBox txtSchoolTel = editItem.EditFormItem.FindControl("txtSchoolTel") as TextBox;
  203. if (txtSchoolTel != null)
  204. {
  205. if (e.Item.GetCustomProperty("School Tel") != txtSchoolTel.Text.Trim())
  206. {
  207. e.Item.SetCustomProperty("School Tel", txtSchoolTel.Text.Trim());
  208. }
  209. }
  210. TextBox txtSecondaryContact = editItem.EditFormItem.FindControl("txtSecondaryContact") as TextBox;
  211. if (txtSecondaryContact != null)
  212. {
  213. if (e.Item.GetCustomProperty("Secondary Contact Name") != txtSecondaryContact.Text.Trim())
  214. {
  215. e.Item.SetCustomProperty("Secondary Contact Name", txtSecondaryContact.Text.Trim());
  216. }
  217. }
  218. }
  219. }*/
  220. /*protected void dsUsers_SelectData(object sender, Acms.DataControls.SelectEventArgs<Acms.Bll.User> e)
  221. {
  222. List<User> users = Acms.Bll.User.Search(AcmsSite.Id);
  223. List<User> filtered = (from u in users where !string.IsNullOrEmpty(u.GetCustomProperty("School Name")) select u).ToList();
  224. Acms.Bll.User.Sort(filtered, gridSchools.MasterTableView.SortExpressions.GetSortString());
  225. e.SetData(filtered);
  226. }*/
  227. /*protected void download_FieldValueDataBound(object sender, Acms.WebControls.DownloadingGrid.FieldValueDataBoundEventArgs e)
  228. {
  229. User data = e.DataItem as User;
  230. if (data != null)
  231. {
  232. if (e.Field.HeaderText == "School Name")
  233. {
  234. e.Value = data.GetCustomProperty("School Name");
  235. }
  236. else if (e.Field.HeaderText == "School Type")
  237. {
  238. e.Value = data.GetCustomProperty("School Type");
  239. }
  240. else if (e.Field.HeaderText == "School Tel")
  241. {
  242. e.Value = data.GetCustomProperty("School Tel");
  243. }
  244. else if (e.Field.HeaderText == "Secondary Contact Name")
  245. {
  246. e.Value = data.GetCustomProperty("Secondary Contact Name");
  247. }
  248. }
  249. }*/
  250. }