API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Individual.cs 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. using System.Collections.Generic;
  2. using System.ComponentModel.DataAnnotations;
  3. using System.ComponentModel.DataAnnotations.Schema;
  4. using UnivateProperties_API.Containers.Timeshare.Detailed;
  5. using UnivateProperties_API.Model.Banks;
  6. using UnivateProperties_API.Model.Misc;
  7. using UnivateProperties_API.Model.Properties;
  8. namespace UnivateProperties_API.Model.Users
  9. {
  10. public class Individual : Person
  11. {
  12. #region Constructor
  13. public Individual()
  14. {
  15. }
  16. #endregion Constructor
  17. #region Properties
  18. public string IdNumber { get; set; }
  19. public string CompanyRegNumber { get; set; }
  20. [ForeignKey("Address")]
  21. public int? AddressId { get; set; }
  22. public string IncomeTaxNumber { get; set; }
  23. [ForeignKey("BankAccount")]
  24. public int? BankAccountId { get; set; }
  25. public MarriedType HowMarried { get; set; }
  26. public string SpouseName { get; set; }
  27. public string SpouseSurname { get; set; }
  28. [DataType(DataType.EmailAddress)]
  29. public string SpouseEmail { get; set; }
  30. [Phone]
  31. public string SpouseTelephone { get; set; }
  32. [Phone]
  33. public string SpouseCellnumber { get; set; }
  34. public virtual Address Address { get; set; }
  35. public virtual BankAccount BankAccount { get; set; }
  36. public virtual ICollection<Property> Properties { get; set; }
  37. #endregion Properties
  38. #region Methods
  39. public void UpdateFromDetailedOwner(DetailedOwner owner)
  40. {
  41. if (owner.Id == Id)
  42. {
  43. Name = owner.Name;
  44. Surname = owner.Surname;
  45. IdNumber = owner.IdNumber;
  46. CompanyRegNumber = owner.CompanyRegNumber;
  47. Email = owner.EmailAddress;
  48. CellNumber = owner.CellNumber;
  49. Telephone = owner.LandlineNumber;
  50. if (owner.Address != null)
  51. {
  52. if (Address == null)
  53. {
  54. Address = new Address()
  55. {
  56. StreetNumber = owner.Address.StreetNumber,
  57. Street = owner.Address.Street,
  58. City = owner.Address.City,
  59. Suburb = owner.Address.Suburb,
  60. Province = owner.Address.Province,
  61. PostalCode = owner.Address.PostalCode
  62. };
  63. }
  64. else
  65. {
  66. Address.StreetNumber = owner.Address.StreetNumber;
  67. Address.Street = owner.Address.Street;
  68. Address.City = owner.Address.City;
  69. Address.Suburb = owner.Address.Suburb;
  70. Address.Province = owner.Address.Province;
  71. Address.PostalCode = owner.Address.PostalCode;
  72. }
  73. }
  74. if (owner.BankingDetails != null)
  75. {
  76. if (BankAccount == null)
  77. {
  78. BankAccount = new BankAccount()
  79. {
  80. BankId = owner.BankingDetails.BankId,
  81. AccountNumber = owner.BankingDetails.AccountNumber,
  82. AccountHolder = owner.BankingDetails.AccountHolder
  83. };
  84. }
  85. else
  86. {
  87. BankAccount.BankId = owner.BankingDetails.BankId;
  88. BankAccount.AccountNumber = owner.BankingDetails.AccountNumber;
  89. BankAccount.AccountHolder = owner.BankingDetails.AccountHolder;
  90. }
  91. }
  92. if (owner.User != null)
  93. {
  94. User.Role = owner.User.Role;
  95. User.LoginPasswordChange = owner.User.LoginPasswordChange;
  96. }
  97. if (owner.HowMarried != 0)
  98. {
  99. switch (owner.HowMarried)
  100. {
  101. case 1:
  102. HowMarried = MarriedType.ICOP;
  103. break;
  104. case 2:
  105. HowMarried = MarriedType.OCOP;
  106. break;
  107. case 3:
  108. HowMarried = MarriedType.Other;
  109. break;
  110. case 4:
  111. HowMarried = MarriedType.Traditional;
  112. break;
  113. case 5:
  114. HowMarried = MarriedType.Single;
  115. break;
  116. case 6:
  117. HowMarried = MarriedType.Divorced;
  118. break;
  119. case 7:
  120. HowMarried = MarriedType.Widow;
  121. break;
  122. case 8:
  123. HowMarried = MarriedType.CommittedRelationship;
  124. break;
  125. case 9:
  126. HowMarried = MarriedType.Partner;
  127. break;
  128. }
  129. SpouseName = owner.SpouseName;
  130. SpouseSurname = owner.SpouseSurname;
  131. SpouseCellnumber = owner.SpouseCellnumber;
  132. SpouseTelephone = owner.SpouseTelephone;
  133. SpouseEmail = owner.SpouseEmail;
  134. }
  135. else
  136. {
  137. HowMarried = MarriedType.NotApplicable;
  138. }
  139. }
  140. }
  141. #endregion Methods
  142. }
  143. }