PageRenderTime 66ms CodeModel.GetById 36ms RepoModel.GetById 1ms app.codeStats 0ms

/src/AddIns/BackendBindings/AspNet.Mvc/Project/ItemTemplates/CSharp/CodeTemplates/AddView/AspxCSharp/List.cs

https://github.com/alexandrebaker/SharpDevelop
C# | 710 lines | 516 code | 184 blank | 10 comment | 59 complexity | ae8a9b3ce30f3387313cf1e4e7449e1a MD5 | raw file
  1. //------------------------------------------------------------------------------
  2. // <auto-generated>
  3. // This code was generated by a tool.
  4. // Runtime Version:4.0.30319.239
  5. //
  6. // Changes to this file may cause incorrect behavior and will be lost if
  7. // the code is regenerated.
  8. // </auto-generated>
  9. //------------------------------------------------------------------------------
  10. namespace ICSharpCode.AspNet.Mvc.AspxCSharp {
  11. using ICSharpCode.AspNet.Mvc;
  12. using System.Collections.Generic;
  13. using System.Reflection;
  14. using System;
  15. public partial class List : ListBase {
  16. private global::Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost hostValue;
  17. #line 100 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  18. MvcTextTemplateHost MvcHost {
  19. get { return (MvcTextTemplateHost)Host; }
  20. }
  21. public class ModelProperty
  22. {
  23. public string Name { get; set; }
  24. public bool IsPrimaryKey { get; set; }
  25. public ModelProperty(PropertyInfo propertyInfo)
  26. {
  27. this.Name = propertyInfo.Name;
  28. this.IsPrimaryKey = IsPrimaryKeyProperty(propertyInfo);
  29. }
  30. bool IsPrimaryKeyProperty(PropertyInfo propertyInfo)
  31. {
  32. return
  33. IsIdProperty(propertyInfo) ||
  34. IsIdPropertyPrefixedWithClassName(propertyInfo);
  35. }
  36. bool IsIdProperty(PropertyInfo propertyInfo)
  37. {
  38. return IsMatchIgnoringCase(propertyInfo.Name, "id");
  39. }
  40. bool IsIdPropertyPrefixedWithClassName(PropertyInfo propertyInfo)
  41. {
  42. string prefixedIdPropertyName = propertyInfo.DeclaringType.Name + "id";
  43. return IsMatchIgnoringCase(propertyInfo.Name, prefixedIdPropertyName);
  44. }
  45. static bool IsMatchIgnoringCase(string a, string b)
  46. {
  47. return String.Equals(a, b, StringComparison.OrdinalIgnoreCase);
  48. }
  49. }
  50. public string GetViewPageType()
  51. {
  52. string viewDataTypeName = MvcHost.ViewDataTypeName;
  53. if (!String.IsNullOrEmpty(viewDataTypeName)) {
  54. return String.Format("<{0}>", viewDataTypeName);
  55. }
  56. return String.Empty;
  57. }
  58. List<ModelProperty> modelProperties;
  59. List<ModelProperty> ModelProperties {
  60. get {
  61. if (modelProperties == null) {
  62. modelProperties = new List<ModelProperty>(GetModelProperties());
  63. }
  64. return modelProperties;
  65. }
  66. }
  67. public IEnumerable<ModelProperty> GetModelProperties()
  68. {
  69. var properties = new List<ModelProperty>();
  70. foreach (PropertyInfo propertyInfo in MvcHost.GetViewDataTypeProperties()) {
  71. properties.Add(new ModelProperty(propertyInfo));
  72. }
  73. return properties;
  74. }
  75. bool ModelHasProperties {
  76. get { return ModelProperties.Count > 0; }
  77. }
  78. bool ModelHasPrimaryKey {
  79. get { return ModelPrimaryKeyName.Length > 0; }
  80. }
  81. string modelPrimaryKeyName;
  82. string ModelPrimaryKeyName {
  83. get {
  84. if (modelPrimaryKeyName == null) {
  85. modelPrimaryKeyName = GetModelPrimaryKeyName();
  86. }
  87. return modelPrimaryKeyName;
  88. }
  89. }
  90. public string GetModelPrimaryKeyName()
  91. {
  92. foreach (ModelProperty modelProperty in ModelProperties) {
  93. if (modelProperty.IsPrimaryKey) {
  94. return modelProperty.Name;
  95. }
  96. }
  97. return "";
  98. }
  99. #line default
  100. #line hidden
  101. public global::Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost Host {
  102. get {
  103. return this.hostValue;
  104. }
  105. set {
  106. this.hostValue = value;
  107. }
  108. }
  109. public virtual string TransformText() {
  110. this.GenerationEnvironment = null;
  111. #line 5 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  112. if (MvcHost.IsPartialView) {
  113. #line default
  114. #line hidden
  115. #line 6 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  116. this.Write("<%@ Control Language=\"C#\" Inherits=\"System.Web.Mvc.ViewUserControl<IEnumerable");
  117. #line default
  118. #line hidden
  119. #line 6 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  120. this.Write(this.ToStringHelper.ToStringWithCulture( GetViewPageType() ));
  121. #line default
  122. #line hidden
  123. #line 6 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  124. this.Write(">\" %>\r\n\r\n");
  125. #line default
  126. #line hidden
  127. #line 8 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  128. } else if (MvcHost.IsContentPage) {
  129. #line default
  130. #line hidden
  131. #line 9 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  132. this.Write("<%@ Page Language=\"C#\" MasterPageFile=\"");
  133. #line default
  134. #line hidden
  135. #line 9 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  136. this.Write(this.ToStringHelper.ToStringWithCulture( MvcHost.MasterPageFile ));
  137. #line default
  138. #line hidden
  139. #line 9 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  140. this.Write("\" Inherits=\"System.Web.Mvc.ViewPage<IEnumerable");
  141. #line default
  142. #line hidden
  143. #line 9 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  144. this.Write(this.ToStringHelper.ToStringWithCulture( GetViewPageType() ));
  145. #line default
  146. #line hidden
  147. #line 9 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  148. this.Write(">\" %>\r\n\r\n<asp:Content ID=\"Content1\" ContentPlaceHolderID=\"Title\" runat=\"server\">\r" +
  149. "\n");
  150. #line default
  151. #line hidden
  152. #line 12 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  153. this.Write(this.ToStringHelper.ToStringWithCulture( MvcHost.ViewName ));
  154. #line default
  155. #line hidden
  156. #line 12 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  157. this.Write("\r\n</asp:Content>\r\n\r\n<asp:Content ID=\"Content2\" ContentPlaceHolderID=\"");
  158. #line default
  159. #line hidden
  160. #line 15 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  161. this.Write(this.ToStringHelper.ToStringWithCulture( MvcHost.PrimaryContentPlaceHolderID ));
  162. #line default
  163. #line hidden
  164. #line 15 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  165. this.Write("\" runat=\"server\">\r\n");
  166. #line default
  167. #line hidden
  168. #line 16 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  169. PushIndent("\t");
  170. } else {
  171. #line default
  172. #line hidden
  173. #line 20 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  174. this.Write("<%@ Page Language=\"C#\" Inherits=\"System.Web.Mvc.ViewPage<IEnumerable");
  175. #line default
  176. #line hidden
  177. #line 20 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  178. this.Write(this.ToStringHelper.ToStringWithCulture( GetViewPageType() ));
  179. #line default
  180. #line hidden
  181. #line 20 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  182. this.Write(">\" %>\r\n\r\n<!DOCTYPE html>\r\n<html>\r\n\t<head runat=\"server\">\r\n\t\t<title>");
  183. #line default
  184. #line hidden
  185. #line 25 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  186. this.Write(this.ToStringHelper.ToStringWithCulture( MvcHost.ViewName ));
  187. #line default
  188. #line hidden
  189. #line 25 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  190. this.Write("</title>\r\n\t</head>\r\n\t<body>\r\n");
  191. #line default
  192. #line hidden
  193. #line 28 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  194. PushIndent("\t\t");
  195. }
  196. #line default
  197. #line hidden
  198. #line 32 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  199. this.Write("<p>\r\n\t<%: Html.ActionLink(\"Create\", \"Create\") %>\r\n</p>\r\n<table>\r\n");
  200. #line default
  201. #line hidden
  202. #line 36 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  203. if (ModelHasProperties) {
  204. #line default
  205. #line hidden
  206. #line 39 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  207. this.Write("\t<tr>\r\n");
  208. #line default
  209. #line hidden
  210. #line 40 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  211. foreach (ModelProperty modelProperty in ModelProperties) {
  212. if (!modelProperty.IsPrimaryKey) {
  213. #line default
  214. #line hidden
  215. #line 44 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  216. this.Write("\t\t<th>\r\n\t\t\t<%: Html.LabelFor(model => model.");
  217. #line default
  218. #line hidden
  219. #line 45 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  220. this.Write(this.ToStringHelper.ToStringWithCulture( modelProperty.Name ));
  221. #line default
  222. #line hidden
  223. #line 45 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  224. this.Write(") %>\r\n\t\t</th>\r\n");
  225. #line default
  226. #line hidden
  227. #line 47 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  228. }
  229. }
  230. #line default
  231. #line hidden
  232. #line 51 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  233. this.Write("\t\t<th></th>\r\n\t</tr>\r\n\t\r\n");
  234. #line default
  235. #line hidden
  236. #line 54 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  237. }
  238. #line default
  239. #line hidden
  240. #line 57 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  241. this.Write("<% foreach (var item in Model) { %>\r\n\t<tr>\r\n");
  242. #line default
  243. #line hidden
  244. #line 59 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  245. if (ModelHasProperties) {
  246. foreach (ModelProperty modelProperty in ModelProperties) {
  247. if (!modelProperty.IsPrimaryKey) {
  248. #line default
  249. #line hidden
  250. #line 64 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  251. this.Write("\t\t<td>\r\n\t\t\t<%: Html.DisplayFor(model => model.");
  252. #line default
  253. #line hidden
  254. #line 65 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  255. this.Write(this.ToStringHelper.ToStringWithCulture( modelProperty.Name ));
  256. #line default
  257. #line hidden
  258. #line 65 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  259. this.Write(") %>\r\n\t\t</td>\r\n");
  260. #line default
  261. #line hidden
  262. #line 67 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  263. }
  264. }
  265. }
  266. #line default
  267. #line hidden
  268. #line 72 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  269. this.Write("\t\t<td>\r\n");
  270. #line default
  271. #line hidden
  272. #line 73 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  273. if (ModelHasPrimaryKey) {
  274. #line default
  275. #line hidden
  276. #line 74 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  277. this.Write("\t\t\t<%: Html.ActionLink(\"Edit\", \"Edit\", new { id = item.");
  278. #line default
  279. #line hidden
  280. #line 74 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  281. this.Write(this.ToStringHelper.ToStringWithCulture( ModelPrimaryKeyName ));
  282. #line default
  283. #line hidden
  284. #line 74 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  285. this.Write(" }) %> |\r\n\t\t\t<%: Html.ActionLink(\"Details\", \"Details\", new { id = item.");
  286. #line default
  287. #line hidden
  288. #line 75 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  289. this.Write(this.ToStringHelper.ToStringWithCulture( ModelPrimaryKeyName ));
  290. #line default
  291. #line hidden
  292. #line 75 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  293. this.Write(" }) %> |\r\n\t\t\t<%: Html.ActionLink(\"Delete\", \"Delete\", new { id = item.");
  294. #line default
  295. #line hidden
  296. #line 76 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  297. this.Write(this.ToStringHelper.ToStringWithCulture( ModelPrimaryKeyName ));
  298. #line default
  299. #line hidden
  300. #line 76 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  301. this.Write(" }) %>\r\n");
  302. #line default
  303. #line hidden
  304. #line 77 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  305. } else {
  306. #line default
  307. #line hidden
  308. #line 78 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  309. this.Write("\t\t\t<%: Html.ActionLink(\"Edit\", \"Edit\") %> |\r\n\t\t\t<%: Html.ActionLink(\"Details\", \"D" +
  310. "etails\") %> |\r\n\t\t\t<%: Html.ActionLink(\"Delete\", \"Delete\") %>\r\n");
  311. #line default
  312. #line hidden
  313. #line 81 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  314. }
  315. #line default
  316. #line hidden
  317. #line 82 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  318. this.Write("\t\t</td>\r\n\t</tr>\r\n<% } %>\r\n</table>\r\n");
  319. #line default
  320. #line hidden
  321. #line 86 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  322. if (MvcHost.IsPartialView) {
  323. // Do nothing.
  324. } else if (MvcHost.IsContentPage) {
  325. PopIndent();
  326. #line default
  327. #line hidden
  328. #line 92 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  329. this.Write("</asp:Content>\r\n");
  330. #line default
  331. #line hidden
  332. #line 93 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  333. } else {
  334. PopIndent();
  335. #line default
  336. #line hidden
  337. #line 97 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  338. this.Write("\t</body>\r\n</html>\r\n");
  339. #line default
  340. #line hidden
  341. #line 99 "D:\projects\dotnet\SharpDevelop.AspNetMvc\src\AddIns\BackendBindings\AspNet.Mvc\Project\ItemTemplates\CSharp\CodeTemplates\AddView\AspxCSharp\List.tt"
  342. }
  343. #line default
  344. #line hidden
  345. return this.GenerationEnvironment.ToString();
  346. }
  347. protected virtual void Initialize() {
  348. }
  349. }
  350. public class ListBase {
  351. private global::System.Text.StringBuilder builder;
  352. private global::System.Collections.Generic.IDictionary<string, object> session;
  353. private global::System.CodeDom.Compiler.CompilerErrorCollection errors;
  354. private string currentIndent = string.Empty;
  355. private global::System.Collections.Generic.Stack<int> indents;
  356. private bool endsWithNewline;
  357. private ToStringInstanceHelper _toStringHelper = new ToStringInstanceHelper();
  358. public virtual global::System.Collections.Generic.IDictionary<string, object> Session {
  359. get {
  360. return this.session;
  361. }
  362. set {
  363. this.session = value;
  364. }
  365. }
  366. public global::System.Text.StringBuilder GenerationEnvironment {
  367. get {
  368. if ((this.builder == null)) {
  369. this.builder = new global::System.Text.StringBuilder();
  370. }
  371. return this.builder;
  372. }
  373. set {
  374. this.builder = value;
  375. }
  376. }
  377. protected global::System.CodeDom.Compiler.CompilerErrorCollection Errors {
  378. get {
  379. if ((this.errors == null)) {
  380. this.errors = new global::System.CodeDom.Compiler.CompilerErrorCollection();
  381. }
  382. return this.errors;
  383. }
  384. }
  385. public string CurrentIndent {
  386. get {
  387. return this.currentIndent;
  388. }
  389. }
  390. private global::System.Collections.Generic.Stack<int> Indents {
  391. get {
  392. if ((this.indents == null)) {
  393. this.indents = new global::System.Collections.Generic.Stack<int>();
  394. }
  395. return this.indents;
  396. }
  397. }
  398. public ToStringInstanceHelper ToStringHelper {
  399. get {
  400. return this._toStringHelper;
  401. }
  402. }
  403. public void Error(string message) {
  404. this.Errors.Add(new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message));
  405. }
  406. public void Warning(string message) {
  407. global::System.CodeDom.Compiler.CompilerError val = new global::System.CodeDom.Compiler.CompilerError(null, -1, -1, null, message);
  408. val.IsWarning = true;
  409. this.Errors.Add(val);
  410. }
  411. public string PopIndent() {
  412. if ((this.Indents.Count == 0)) {
  413. return string.Empty;
  414. }
  415. int lastPos = (this.currentIndent.Length - this.Indents.Pop());
  416. string last = this.currentIndent.Substring(lastPos);
  417. this.currentIndent = this.currentIndent.Substring(0, lastPos);
  418. return last;
  419. }
  420. public void PushIndent(string indent) {
  421. this.Indents.Push(indent.Length);
  422. this.currentIndent = (this.currentIndent + indent);
  423. }
  424. public void ClearIndent() {
  425. this.currentIndent = string.Empty;
  426. this.Indents.Clear();
  427. }
  428. public void Write(string textToAppend) {
  429. if (string.IsNullOrEmpty(textToAppend)) {
  430. return;
  431. }
  432. if ((((this.GenerationEnvironment.Length == 0)
  433. || this.endsWithNewline)
  434. && (this.CurrentIndent.Length > 0))) {
  435. this.GenerationEnvironment.Append(this.CurrentIndent);
  436. }
  437. this.endsWithNewline = false;
  438. char last = textToAppend[(textToAppend.Length - 1)];
  439. if (((last == '\n')
  440. || (last == '\r'))) {
  441. this.endsWithNewline = true;
  442. }
  443. if ((this.CurrentIndent.Length == 0)) {
  444. this.GenerationEnvironment.Append(textToAppend);
  445. return;
  446. }
  447. int lastNewline = 0;
  448. for (int i = 0; (i
  449. < (textToAppend.Length - 1)); i = (i + 1)) {
  450. char c = textToAppend[i];
  451. if ((c == '\r')) {
  452. if ((textToAppend[(i + 1)] == '\n')) {
  453. i = (i + 1);
  454. if ((i
  455. == (textToAppend.Length - 1))) {
  456. goto breakLoop;
  457. }
  458. }
  459. }
  460. else {
  461. if ((c != '\n')) {
  462. goto continueLoop;
  463. }
  464. }
  465. i = (i + 1);
  466. int len = (i - lastNewline);
  467. if ((len > 0)) {
  468. this.GenerationEnvironment.Append(textToAppend, lastNewline, (i - lastNewline));
  469. }
  470. this.GenerationEnvironment.Append(this.CurrentIndent);
  471. lastNewline = i;
  472. continueLoop:
  473. ;
  474. }
  475. breakLoop:
  476. if ((lastNewline > 0)) {
  477. this.GenerationEnvironment.Append(textToAppend, lastNewline, (textToAppend.Length - lastNewline));
  478. }
  479. else {
  480. this.GenerationEnvironment.Append(textToAppend);
  481. }
  482. }
  483. public void Write(string format, params object[] args) {
  484. this.Write(string.Format(format, args));
  485. }
  486. public void WriteLine(string textToAppend) {
  487. this.Write(textToAppend);
  488. this.GenerationEnvironment.AppendLine();
  489. this.endsWithNewline = true;
  490. }
  491. public void WriteLine(string format, params object[] args) {
  492. this.WriteLine(string.Format(format, args));
  493. }
  494. public class ToStringInstanceHelper {
  495. private global::System.IFormatProvider formatProvider = global::System.Globalization.CultureInfo.InvariantCulture;
  496. public global::System.IFormatProvider FormatProvider {
  497. get {
  498. return this.formatProvider;
  499. }
  500. set {
  501. if ((this.formatProvider == null)) {
  502. throw new global::System.ArgumentNullException("formatProvider");
  503. }
  504. this.formatProvider = value;
  505. }
  506. }
  507. public string ToStringWithCulture(object objectToConvert) {
  508. if ((objectToConvert == null)) {
  509. throw new global::System.ArgumentNullException("objectToConvert");
  510. }
  511. global::System.Type type = objectToConvert.GetType();
  512. global::System.Type iConvertibleType = typeof(global::System.IConvertible);
  513. if (iConvertibleType.IsAssignableFrom(type)) {
  514. return ((global::System.IConvertible)(objectToConvert)).ToString(this.formatProvider);
  515. }
  516. global::System.Reflection.MethodInfo methInfo = type.GetMethod("ToString", new global::System.Type[] {
  517. iConvertibleType});
  518. if ((methInfo != null)) {
  519. return ((string)(methInfo.Invoke(objectToConvert, new object[] {
  520. this.formatProvider})));
  521. }
  522. return objectToConvert.ToString();
  523. }
  524. }
  525. }
  526. }