コード例 #1
0
 internal void When(CustomerMovedToNewAddress evnt)
 {
     _address = new StreetAddress(
         evnt.HouseNumber,
         evnt.Street,
         evnt.City,
         evnt.State,
         evnt.Zip);
 }
コード例 #2
0
        public void RegisterNewCustomer(Guid customerId, PersonName personName, DateTime dateOfBirth, StreetAddress primaryAddress, MaritalStatus maritalStatus, GenderEnum gender)
        {
            //do any business logic in here, check invariants and throw a DomainException if there is a problem
            //check DoB is not in the future
            if(dateOfBirth > SystemTime.Now)
                throw new DomainException(string.Format("Date of birth ({0}) can not be in the future.", dateOfBirth));

            ApplyChange(new CustomerRegistered
                {
                    City = primaryAddress.City,
                    DateOfBirth = dateOfBirth,
                    FirstName = personName.FirstName,
                    Gender = gender.Gender,
                    HouseNumber = primaryAddress.HouseNumber,
                    Id = customerId,
                    LastName = personName.LastName,
                    MaritalStatus = maritalStatus.Status,
                    MiddleName = personName.MiddleName,
                    State = primaryAddress.State,
                    Street = primaryAddress.Street,
                    Zip = primaryAddress.Zip.Zip,
                });
        }
コード例 #3
0
        public void RegisterNewCustomer(Guid customerId, PersonName personName, DateTime dateOfBirth, StreetAddress primaryAddress, MaritalStatus maritalStatus, GenderEnum gender)
        {
            //do any business logic in here, check invariants and throw a DomainException if there is a problem
            //check DoB is not in the future
            if (dateOfBirth > SystemTime.Now)
            {
                throw new DomainException(string.Format("Date of birth ({0}) can not be in the future.", dateOfBirth));
            }

            ApplyChange(new CustomerRegistered
            {
                City          = primaryAddress.City,
                DateOfBirth   = dateOfBirth,
                FirstName     = personName.FirstName,
                Gender        = gender.Gender,
                HouseNumber   = primaryAddress.HouseNumber,
                Id            = customerId,
                LastName      = personName.LastName,
                MaritalStatus = maritalStatus.Status,
                MiddleName    = personName.MiddleName,
                State         = primaryAddress.State,
                Street        = primaryAddress.Street,
                Zip           = primaryAddress.Zip.Zip,
            });
        }
コード例 #4
0
 internal void When(CustomerMovedToNewAddress evnt)
 {
     _address = new StreetAddress(
         evnt.HouseNumber,
         evnt.Street,
         evnt.City,
         evnt.State,
         evnt.Zip);
 }