Form.cs
上传用户:husern
上传日期:2022-03-24
资源大小:534k
文件大小:6k
源码类别:

编辑器/阅读器

开发平台:

C#

  1. // -- FILE ------------------------------------------------------------------
  2. // name       : Form.cs
  3. // project    : Itenso Web User Forms
  4. // created    : Jani Giannoudis - 2008.10.30
  5. // language   : c#
  6. // environment: .NET 2.0
  7. // copyright  : (c) 2008 by Itenso GmbH, Switzerland
  8. // --------------------------------------------------------------------------
  9. using System;
  10. namespace Itenso.WebUserForms.Data.Form
  11. {
  12. // ------------------------------------------------------------------------
  13. public class Form : FormGroup, IForm
  14. {
  15. // ----------------------------------------------------------------------
  16. /// <summary>
  17. /// for internal use only!
  18. /// </summary>
  19. public Form() 
  20. {
  21. } // Form
  22. // ----------------------------------------------------------------------
  23. public Form( string name ) 
  24. : base( name )
  25. {
  26. } // Form
  27. // ----------------------------------------------------------------------
  28. public Form( Form copy ) : 
  29. base( copy )
  30. {
  31. } // Form
  32. // ----------------------------------------------------------------------
  33. public string FormType
  34. {
  35. get { return this.type; }
  36. set { this.type = value; }
  37. } // FormType
  38. // ----------------------------------------------------------------------
  39. public string FormId
  40. {
  41. get { return this.formId; }
  42. set { this.formId = value; }
  43. } // FormId
  44. // ----------------------------------------------------------------------
  45. public string FormVersion
  46. {
  47. get { return this.formVersion; }
  48. set { this.formVersion = value; }
  49. } // FormVersion
  50. // ----------------------------------------------------------------------
  51. public DateTime Created
  52. {
  53. get { return this.created; }
  54. set { this.created = value; }
  55. } // Created
  56. // ----------------------------------------------------------------------
  57. public string CreatedByUser
  58. {
  59. get { return this.createdBy; }
  60. set { this.createdBy = value; }
  61. } // CreatedByUser
  62. // ----------------------------------------------------------------------
  63. public DateTime LastUpdated
  64. {
  65. get { return this.updated; }
  66. set { this.updated = value; }
  67. } // LastUpdated
  68. // ----------------------------------------------------------------------
  69. public string LastUpdatedByUser
  70. {
  71. get { return this.updatedBy; }
  72. set { this.updatedBy = value; }
  73. } // LastUpdatedByUser
  74. // ----------------------------------------------------------------------
  75. public bool IsLocked
  76. {
  77. get { return this.isLocked; }
  78. set { this.isLocked = value; }
  79. } // IsLocked
  80. // ----------------------------------------------------------------------
  81. public bool IsNew
  82. {
  83. get { return string.IsNullOrEmpty( this.formId ); }
  84. } // IsNew
  85. // ----------------------------------------------------------------------
  86. public void SetCreated( DateTime moment, string user )
  87. {
  88. if ( string.IsNullOrEmpty( user ) )
  89. {
  90. throw new ArgumentNullException( "user" );
  91. }
  92. this.created = moment;
  93. this.updated = moment;
  94. this.createdBy = user;
  95. this.updatedBy = user;
  96. } // SetCreated
  97. // ----------------------------------------------------------------------
  98. public void MarkUpdated( DateTime moment, string user )
  99. {
  100. if ( moment.CompareTo( created ) < 0 )
  101. {
  102. throw new ArgumentException( "moment" );
  103. }
  104. if ( string.IsNullOrEmpty( user ) )
  105. {
  106. throw new ArgumentNullException( "user" );
  107. }
  108. this.updated = moment;
  109. this.updatedBy = user;
  110. } // MarkUpdated
  111. // ----------------------------------------------------------------------
  112. protected override IFormEntity DoDuplicate()
  113. {
  114. return new Form( this );
  115. } // DoDuplicate
  116. // ----------------------------------------------------------------------
  117. IForm IForm.Duplicate()
  118. {
  119. return DoDuplicate() as IForm;
  120. } // IFormData.Duplicate
  121. // ----------------------------------------------------------------------
  122. public override bool Equals( object obj )
  123. {
  124. bool equal = false;
  125. Form compare = obj as Form;
  126. if ( compare != null )
  127. {
  128. equal = base.Equals( obj ) &&
  129. Object.Equals( this.type, compare.type ) &&
  130. Object.Equals( this.formId, compare.formId ) &&
  131. Object.Equals( this.formVersion, compare.formVersion ) &&
  132. Object.Equals( this.created, compare.created ) &&
  133. Object.Equals( this.createdBy, compare.createdBy ) &&
  134. Object.Equals( this.updated, compare.updated ) &&
  135. Object.Equals( this.updatedBy, compare.updatedBy ) &&
  136. Object.Equals( this.isLocked, compare.isLocked );
  137. }
  138. return equal;
  139. } // Equals
  140. // ----------------------------------------------------------------------
  141. public override int GetHashCode()
  142. {
  143. int hash = base.GetHashCode();
  144. hash = HashTool.AddHashCode( hash, this.type );
  145. hash = HashTool.AddHashCode( hash, this.formId );
  146. hash = HashTool.AddHashCode( hash, this.formVersion );
  147. hash = HashTool.AddHashCode( hash, this.created );
  148. hash = HashTool.AddHashCode( hash, this.createdBy );
  149. hash = HashTool.AddHashCode( hash, this.updated );
  150. hash = HashTool.AddHashCode( hash, this.updatedBy );
  151. hash = HashTool.AddHashCode( hash, this.isLocked );
  152. return hash;
  153. } // GetHashCode
  154. // ----------------------------------------------------------------------
  155. // members
  156. private string type;
  157. private string formId;
  158. private string formVersion;
  159. private DateTime created;
  160. private string createdBy;
  161. private DateTime updated;
  162. private string updatedBy;
  163. private bool isLocked;
  164. } // class Form
  165. } // namespace Itenso.WebUserForms.Data.Form
  166. // -- EOF -------------------------------------------------------------------