internal Identity(Guid id, RMSSystem.RMSSystem rmsSystem, string username, IdentityType identityType) : this() { if (rmsSystem == null) { throw new ArgumentNullException("rmsSystem"); } if (string.IsNullOrWhiteSpace(username)) { throw new ArgumentNullException("username"); } if (identityType == IdentityType.Unset) { throw new ArgumentException("Identity Type is Unset", "identityType"); } Id = id; RMSSystem = rmsSystem; RMSSystemId = rmsSystem.Id; IdentityType = identityType; Username = username; // All new Identities are Inactive by Default. IsActive = false; }
/// <summary> /// Create a new User in the system. /// </summary> /// <param name="rmsSystem">The RMSSystem instance.</param> /// <param name="id">Explicit Id for the new user. If empty the system will generate one.</param> /// <param name="homeAgency">Home Agency for the new User.</param> /// <param name="username">Username for the new User.</param> /// <param name="password">Password for the new User.</param> /// <returns></returns> public static User CreateUser(RMSSystem.RMSSystem rmsSystem, Guid id, Agency.Agency homeAgency, string username, string password) { // Create a New User var newUser = new User(id, rmsSystem, homeAgency, username); // Set the User's Password newUser.ChangePassword(password); // Provision Default Queues newUser.AddQueue(new Queue(QueueType.Incident)); newUser.AddQueue(new Queue(QueueType.InProgress)); newUser.AddQueue(new Queue(QueueType.Case)); newUser.AddQueue(new Queue(QueueType.Approval)); // Make the User Active newUser.MakeActive(); return(newUser); }
internal User(Guid id, RMSSystem.RMSSystem rmsSystem, Agency.Agency primaryAgency, string username) : base(id, rmsSystem, username, IdentityType.User) { SetPrimaryAgency(primaryAgency); Unlock(); }
internal Interface(Guid id, RMSSystem.RMSSystem rmsSystem, string username) : base(id, rmsSystem, username, IdentityType.Interface) { }
internal SystemAccount(Guid id, RMSSystem.RMSSystem rmsSystem, string username, string password) : base(id, rmsSystem, username, IdentityType.SystemAccount) { SetPassword(password); }