Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. using Comet.Core;
  6.  
  7. namespace Comet.Play.Model
  8. {
  9. public class User : AggregateRoot
  10. {
  11. public User()
  12. {
  13. ExternalUsers = new List<ExternalUser>();
  14. UserDevices = new List<UserDevice>();
  15. UserGuid = Guid.NewGuid();
  16. RegistrationDate = DateTime.Now;
  17. IsActive = true;
  18. }
  19.  
  20. public User(int operatorId)
  21. : this()
  22. {
  23. OperatorId = operatorId;
  24. }
  25.  
  26. [Key]
  27. public int UserId { get; private set; }
  28.  
  29. public Guid UserGuid { get; private set; }
  30. public int OperatorId { get; private set; }
  31. public int? ProductId { get; private set; }
  32. public bool IsActive { get; private set; }
  33.  
  34. //TODO Remove these
  35. public string SumoUserId { get; private set; }
  36. public string SumoUsername { get; private set; }
  37. public string SumoPassword { get; private set; }
  38. public string OperatorUserId { get; private set; }
  39. public string OperatorUsername { get; private set; }
  40. public string OperatorPassword { get; private set; }
  41. public string OperatorSalt { get; private set; }
  42. public DateTime? LatestLogin { get; private set; }
  43. public DateTime? RegistrationDate { get; private set; }
  44.  
  45. public virtual Product Product { get; private set; }
  46. public virtual IList<ExternalUser> ExternalUsers { get; private set; }
  47. public virtual IList<UserDevice> UserDevices { get; private set; }
  48.  
  49. public void SetIsActive(bool isActive)
  50. {
  51. IsActive = isActive;
  52. }
  53.  
  54. public void SetProduct(Product product)
  55. {
  56. Product = product;
  57. ProductId = product.ProductId;
  58. }
  59.  
  60. public void SetLatestLoginNow()
  61. {
  62. LatestLogin = DateTime.Now;
  63. }
  64.  
  65. public ExternalUser AddNewExternalUser(int externalTypeId)
  66. {
  67. var externalUser = new ExternalUser(externalTypeId, OperatorId);
  68. ExternalUsers.Add(externalUser);
  69. return externalUser;
  70. }
  71.  
  72. public ExternalUser AddExternalUser(ExternalUser externalUser)
  73. {
  74. ExternalUsers.Add(externalUser);
  75. return externalUser;
  76. }
  77.  
  78. public UserDevice AddUserDevice(string deviceId, int deviceTypeId)
  79. {
  80. var device = new UserDevice(UserId, deviceId, deviceTypeId);
  81. UserDevices.Add(device);
  82. return device;
  83. }
  84.  
  85. //TODO Remove
  86. public void UpdateSomeStuff()
  87. {
  88. var externalOperatorUser = ExternalUsers.FirstOrDefault(e => e.IsActive && e.ExternalUserTypeId == 2);
  89. var externalProviderUser = ExternalUsers.FirstOrDefault(e => e.IsActive && e.ExternalUserTypeId == 1);
  90.  
  91. if (externalOperatorUser != null) {
  92. OperatorUserId = externalOperatorUser.ExternalId;
  93. OperatorUsername = externalOperatorUser.Username;
  94. OperatorPassword = externalOperatorUser.Password;
  95. OperatorSalt = externalOperatorUser.PasswordSalt;
  96. }
  97.  
  98. if (externalProviderUser != null) {
  99. SumoUserId = externalProviderUser.ExternalId;
  100. SumoUsername = !string.IsNullOrEmpty(externalProviderUser.Username) ? externalProviderUser.Username : string.Format("{0}_{1}@cometuser.junse.se", Guid.NewGuid(), OperatorId);
  101. SumoPassword = externalProviderUser.Password;
  102. }
  103. if (string.IsNullOrEmpty(SumoUsername)) {
  104. SumoUsername = string.Format("{0}_{1}@cometuser.junse.se", Guid.NewGuid(), OperatorId);
  105. }
  106. }
  107. }
  108.  
  109. public enum ExternalUserType
  110. {
  111. Provider = 1,
  112. Operator = 2
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement