Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.Linq;
- using Comet.Core;
- namespace Comet.Play.Model
- {
- public class User : AggregateRoot
- {
- public User()
- {
- ExternalUsers = new List<ExternalUser>();
- UserDevices = new List<UserDevice>();
- UserGuid = Guid.NewGuid();
- RegistrationDate = DateTime.Now;
- IsActive = true;
- }
- public User(int operatorId)
- : this()
- {
- OperatorId = operatorId;
- }
- [Key]
- public int UserId { get; private set; }
- public Guid UserGuid { get; private set; }
- public int OperatorId { get; private set; }
- public int? ProductId { get; private set; }
- public bool IsActive { get; private set; }
- //TODO Remove these
- public string SumoUserId { get; private set; }
- public string SumoUsername { get; private set; }
- public string SumoPassword { get; private set; }
- public string OperatorUserId { get; private set; }
- public string OperatorUsername { get; private set; }
- public string OperatorPassword { get; private set; }
- public string OperatorSalt { get; private set; }
- public DateTime? LatestLogin { get; private set; }
- public DateTime? RegistrationDate { get; private set; }
- public virtual Product Product { get; private set; }
- public virtual IList<ExternalUser> ExternalUsers { get; private set; }
- public virtual IList<UserDevice> UserDevices { get; private set; }
- public void SetIsActive(bool isActive)
- {
- IsActive = isActive;
- }
- public void SetProduct(Product product)
- {
- Product = product;
- ProductId = product.ProductId;
- }
- public void SetLatestLoginNow()
- {
- LatestLogin = DateTime.Now;
- }
- public ExternalUser AddNewExternalUser(int externalTypeId)
- {
- var externalUser = new ExternalUser(externalTypeId, OperatorId);
- ExternalUsers.Add(externalUser);
- return externalUser;
- }
- public ExternalUser AddExternalUser(ExternalUser externalUser)
- {
- ExternalUsers.Add(externalUser);
- return externalUser;
- }
- public UserDevice AddUserDevice(string deviceId, int deviceTypeId)
- {
- var device = new UserDevice(UserId, deviceId, deviceTypeId);
- UserDevices.Add(device);
- return device;
- }
- //TODO Remove
- public void UpdateSomeStuff()
- {
- var externalOperatorUser = ExternalUsers.FirstOrDefault(e => e.IsActive && e.ExternalUserTypeId == 2);
- var externalProviderUser = ExternalUsers.FirstOrDefault(e => e.IsActive && e.ExternalUserTypeId == 1);
- if (externalOperatorUser != null) {
- OperatorUserId = externalOperatorUser.ExternalId;
- OperatorUsername = externalOperatorUser.Username;
- OperatorPassword = externalOperatorUser.Password;
- OperatorSalt = externalOperatorUser.PasswordSalt;
- }
- if (externalProviderUser != null) {
- SumoUserId = externalProviderUser.ExternalId;
- SumoUsername = !string.IsNullOrEmpty(externalProviderUser.Username) ? externalProviderUser.Username : string.Format("{0}_{1}@cometuser.junse.se", Guid.NewGuid(), OperatorId);
- SumoPassword = externalProviderUser.Password;
- }
- if (string.IsNullOrEmpty(SumoUsername)) {
- SumoUsername = string.Format("{0}_{1}@cometuser.junse.se", Guid.NewGuid(), OperatorId);
- }
- }
- }
- public enum ExternalUserType
- {
- Provider = 1,
- Operator = 2
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement