public メンバ( テナントId tenantId, string userName, string firstName, string lastName, string emailAddress, DateTime initializedOn) { AssertionConcern.AssertArgumentNotNull(tenantId, "The tenant id must be provided."); this.TenantId = tenantId; this.EmailAddress = emailAddress; this.Enabled = true; this.FirstName = firstName; this.LastName = lastName; this.changeTracker = new メンバ変更トラッカー(initializedOn, initializedOn, initializedOn); }
public void ChangeName(string firstName, string lastName, DateTime asOfDate) { if (this.changeTracker.CanChangeName(asOfDate)) { this.FirstName = firstName; this.LastName = lastName; this.changeTracker = this.changeTracker.NameChangedOn(asOfDate); } }
public void Enable(DateTime asOfDate) { if (this.changeTracker.CanToggleEnabling(asOfDate)) { this.Enabled = true; this.changeTracker = this.changeTracker.EnablingOn(asOfDate); } }
public void ChangeEmailAddress(string emailAddress, DateTime asOfDate) { if (this.changeTracker.CanChangeEmailAddress(asOfDate) && !this.EmailAddress.Equals(emailAddress)) { this.EmailAddress = emailAddress; this.changeTracker = this.changeTracker.EmailAddressChangedOn(asOfDate); } }