コード例 #1
0
        public void With_an_invalid_birth_date()
        {
            var dateOfBirth = new DateOfBirth(DateTime.Today.Date);

            Given(ClientRegistered());
            When(client => client.CorrectDateOfBirth(dateOfBirth));
            Then<DomainError>("underage");
        }
コード例 #2
0
        public ClientDateOfBirthCorrected(ClientId clientId, DateOfBirth dateOfBirth)
        {
            Mandate.ParameterNotNull(clientId, "clientId");
            Mandate.ParameterNotDefaut(dateOfBirth, "dateOfBirth");

            ClientId = clientId;
            DateOfBirth = dateOfBirth;
        }
コード例 #3
0
        public void With_a_valid_bith_date()
        {
            var dateOfBirth = new DateOfBirth(DateTime.Today.Date.AddYears(-18));

            Given(ClientRegistered());
            When(client => client.CorrectDateOfBirth(dateOfBirth));
            Then(new ClientDateOfBirthCorrected(DefaultClientId, dateOfBirth));
        }
コード例 #4
0
ファイル: ClientState.cs プロジェクト: AdrianFreemantle/DDD
 void IHandleClientStateTransitions.When(ClientRegistered @event)
 {
     Identity = @event.ClientId;
     identityNumber = @event.IdentityNumber;
     clientName = @event.ClientName;
     primaryContactNumber = @event.PrimaryContactNumber;
     dateOfBirth = @event.IdentityNumber.GetDateOfBirth();
 }
コード例 #5
0
ファイル: DateOfBirth.cs プロジェクト: AdrianFreemantle/DDD
        public virtual bool Equals(DateOfBirth other)
        {
            if (null != other && other.GetType() == GetType())
            {
                return other.Date == Date;
            }

            return false;
        }
コード例 #6
0
        public void Build(string[] args)
        {
            if (args.Length != 2)
            {
                throw new Exception(String.Format("Error. Usage is: {0}", Usage));
            }

            ClientId = new ClientId(args[0]);
            DateOfBirth = new DateOfBirth(DateTime.Parse(args[1]));
        }
コード例 #7
0
        public void With_a_valid_bith_date()
        {
            DomainEvent.Current.Subscribe<ClientDateOfBirthCorrected>(Events.Handle);
            var dateOfBirth = new DateOfBirth(DateTime.Today.Date.AddYears(-18));

            var client = DefaultClient();
            client.CorrectDateOfBirth(dateOfBirth);

            Then(new ClientDateOfBirthCorrected(client.Identity, dateOfBirth));
        }
コード例 #8
0
        public void With_a_valid_bith_date()
        {
            var dateOfBirth = new DateOfBirth(DateTime.Today.Date.AddYears(-18));

            var client = DefaultClient();
            client.CorrectDateOfBirth(dateOfBirth);

            var snapshot = ((IEntity)client).GetSnapshot();
            ((ClientSnapshot)snapshot).DateOfBirth.ShouldBe(dateOfBirth);
        }
コード例 #9
0
 public void With_an_invalid_birth_date()
 {
     try
     {
         var dateOfBirth = new DateOfBirth(DateTime.Today.Date);
         var client = DefaultClient();
         client.CorrectDateOfBirth(dateOfBirth);
     }
     catch (DomainError e)
     {
         e.Name.ShouldBe("underage");
         throw;
     }
 }
コード例 #10
0
ファイル: ClientState.cs プロジェクト: AdrianFreemantle/DDD
 void IHandleClientStateTransitions.When(ClientDateOfBirthCorrected @event)
 {
     dateOfBirth = @event.DateOfBirth;
 }
コード例 #11
0
ファイル: ClientState.cs プロジェクト: AdrianFreemantle/DDD
        protected override void RestoreSnapshot(IMemento memento)
        {
            var snapshot = (ClientSnapshot)memento;

            dateOfBirth = snapshot.DateOfBirth;
            clientName = snapshot.ClientName;
            primaryContactNumber = snapshot.PrimaryContactNumber;
            identityNumber = snapshot.IdentityNumber;
            isDeceased = snapshot.IsDeceased;
        }
コード例 #12
0
 public ClientDateOfBirthCorrected(ClientId clientId, DateOfBirth dateOfBirth)
 {
     ClientId = clientId;
     DateOfBirth = dateOfBirth;
 }
コード例 #13
0
ファイル: ClientState.cs プロジェクト: AdrianFreemantle/DDD
 void IClientState.When(ClientDateOfBirthCorrected @event)
 {
     dateOfBirth = @event.DateOfBirth;
 }