Advertisement
Guest User

Member Class

a guest
Sep 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.21 KB | None | 0 0
  1. Public Class Member
  2. Private _Name As String
  3. Private _Surname As String
  4. Private _Age As Integer
  5. Private _DOB As Date
  6. Private _Address As String
  7. Private _IDNum As String
  8. Private _Username As String
  9. Private _Password As String
  10. Private _Voted As Boolean
  11. Private _VoteName As String
  12. Public Shared _WeeklyContAmount As Double 'Actual Contribution amount required
  13. Public Shared IntRate As Double 'stores interest rate. I don't have access to the interest rate so I created this variable.
  14. Private _NonCont As Boolean
  15. Private _ContOwe As Double
  16. Private _TotalCont As Double
  17. Private _SumBorrow As Double
  18. Private _DateBorrow As Date
  19. Private _interest As Integer
  20. Private _Paid As Boolean
  21. Private _DatePaid As Date
  22.  
  23. Public Property Name As String
  24. Get
  25. Return _Name
  26. End Get
  27. Set(value As String)
  28. _Name = value
  29. End Set
  30. End Property
  31.  
  32. Public Property Surname As String
  33. Get
  34. Return _Surname
  35. End Get
  36. Set(value As String)
  37. _Surname = value
  38. End Set
  39. End Property
  40.  
  41. Public Property Age As Integer
  42. Get
  43. Return _Age
  44. End Get
  45. Set(value As Integer)
  46. _Age = value
  47. End Set
  48. End Property
  49.  
  50. Public Property DOB As Date
  51. Get
  52. Return _DOB
  53. End Get
  54. Set(value As Date)
  55. _DOB = value
  56. End Set
  57. End Property
  58.  
  59. Public Property Address As String
  60. Get
  61. Return _Address
  62. End Get
  63. Set(value As String)
  64. _Address = value
  65. End Set
  66. End Property
  67.  
  68.  
  69. Public Sub Member(ByVal ID As String) 'ID=IDnum
  70. _IDNum = ID
  71.  
  72. End Sub
  73. Public WriteOnly Property IDNum As String
  74.  
  75. Set(value As String)
  76. '' Tenille, I am unsure about the validation here; please check with Nardus.
  77. If _IDNum.Length = 13 Then
  78. _IDNum = value
  79. Else
  80. _IDNum = 0
  81. End If
  82. End Set
  83. End Property
  84.  
  85. Public Property Username() As String
  86. Get
  87. Return _Username
  88. End Get
  89. Set(value As String)
  90. _Username = value
  91. End Set
  92. End Property
  93.  
  94. Public Property Password() As String
  95. Get
  96. Return _Password
  97. End Get
  98. Set(value As String)
  99. _Password = value
  100. End Set
  101. End Property
  102.  
  103. Public Property Voted() As Boolean
  104. Get
  105. Return _Voted
  106. End Get
  107. Set(value As Boolean)
  108. _Voted = value
  109. End Set
  110. End Property
  111.  
  112. Public Property VoteName() As String
  113. Get
  114. Return _VoteName
  115. End Get
  116. Set(value As String)
  117. _VoteName = value
  118. End Set
  119. End Property
  120.  
  121. Public Property NonCont As Boolean
  122. Get
  123. Return _NonCont
  124. End Get
  125. Set(value As Boolean)
  126. _NonCont = value
  127. End Set
  128. End Property
  129.  
  130. Public Property ContOwe As Double
  131. Get
  132. Return _ContOwe
  133. End Get
  134. Set(value As Double)
  135. _ContOwe = value
  136. End Set
  137. End Property
  138.  
  139. Public Property TotalCont As Double
  140. Get
  141. Return _TotalCont
  142. End Get
  143. Set(value As Double)
  144. _TotalCont = value
  145. End Set
  146. End Property
  147.  
  148. Public Property SumBorrow As Double
  149. Get
  150. Return _SumBorrow
  151. End Get
  152. Set(value As Double)
  153. _SumBorrow = value
  154. End Set
  155. End Property
  156.  
  157. Public Property DateBorrow As Date
  158. Get
  159. Return _DateBorrow
  160. End Get
  161. Set(value As Date)
  162. _DateBorrow = value
  163. End Set
  164. End Property
  165.  
  166. Public Property Interest As Integer
  167. Get
  168. Return _interest
  169. End Get
  170. Set(value As Integer)
  171. _interest = value
  172. End Set
  173. End Property
  174.  
  175. Public Property Paid As Boolean
  176. Get
  177. Return _Paid
  178. End Get
  179. Set(value As Boolean)
  180. _Paid = value
  181. End Set
  182. End Property
  183.  
  184. Public Property DatePaid As Date
  185. Get
  186. Return _DatePaid
  187. End Get
  188. Set(value As Date)
  189. _DatePaid = value
  190. End Set
  191. End Property
  192.  
  193. Public Function CheckVoted() As Boolean
  194.  
  195. If VoteName.Length = 0 Then 'Checks that there is something voted for.
  196. Voted = False ''Not sure how we'd check if it matches the charities nominated.
  197. Else
  198. Voted = True
  199. End If
  200.  
  201. Return Voted
  202. End Function
  203.  
  204. Public Function CalcAge() As Integer
  205.  
  206. Age = CInt(Date.Today.Year - DOB.Year) 'Calculates the member's age using their DOB
  207. Return Age
  208.  
  209. End Function
  210.  
  211. Public Function CalcContOwed() As Double
  212.  
  213. If NonCont = False Then 'Checks if they've Contributed. Note: this is working on the assumption that Noncont=true means they haven't paid
  214. ContOwe += 0
  215. Else
  216. ContOwe += _WeeklyContAmount 'if not contributed then add to their Contributions owed amount
  217. End If
  218. Return ContOwe
  219.  
  220. End Function
  221.  
  222. Public Function CalcTotalCont() As Double
  223.  
  224. If NonCont = False Then
  225. TotalCont += _WeeklyContAmount 'Adds to their Total if they've Contributed.
  226. Else
  227. TotalCont = TotalCont 'returns existing total if they haven't contributed
  228. End If
  229. Return TotalCont
  230.  
  231. End Function
  232.  
  233. Public Function CalcInterest() As Integer
  234.  
  235. Dim nWeeksBorrowed As Integer = DateDiff("ww", DateBorrow, DatePaid) 'counts the number of weeks between borrowed and paid dates
  236. Interest = Math.Ceiling((1 + (nWeeksBorrowed / 52) * IntRate))
  237. Return Interest
  238.  
  239. End Function
  240.  
  241. ''Nardus, I think I've covered all the calculations. Please tell me if anything must be added. You may need to send it back to Wasim for validation.
  242. '' Comments with 2 apostrophes in front can be removed.
  243.  
  244. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement