コード例 #1
0
        public virtual void Register(Guid accountId)
        {
            var domainEvent = new RegisteredDomainEvent(
                Id, Version, Name, PIN,
                accountId);

            Raise(domainEvent);
        }
コード例 #2
0
        public async Task Add(RegisteredDomainEvent domainEvent)
        {
            Customer customer = new Customer();

            customer.Apply(domainEvent);

            await mongoContext.Customers
            .InsertOneAsync(customer);
        }
コード例 #3
0
        public async Task Add(RegisteredDomainEvent domainEvent)
        {
            Customer customer = new Customer();

            customer.Apply(domainEvent);
            await context.Customers.AddAsync(customer);

            int affectedRows = await context.SaveChangesAsync();
        }
コード例 #4
0
        protected void When(RegisteredDomainEvent domainEvent)
        {
            Id      = domainEvent.AggregateRootId;
            Version = domainEvent.Version;
            Name    = domainEvent.CustomerName;
            PIN     = domainEvent.CustomerPIN;

            Accounts = new AccountCollection();
            Accounts.Add(domainEvent.AccountId);
        }
コード例 #5
0
        protected void When(RegisteredDomainEvent domainEvent)
        {
            if (domainEvent == null)
            {
                throw new ArgumentNullException(nameof(domainEvent));
            }

            Id             = domainEvent.AccountId;
            currentBalance = domainEvent.InitialAmount;
        }
コード例 #6
0
        public void Register(Account account)
        {
            if (account == null)
            {
                throw new ArgumentNullException(nameof(account));
            }

            Raise(RegisteredDomainEvent.Create(
                      this, this.GetName(), this.GetPIN(),
                      account.Id, account.GetCurrentBalance()));
        }
コード例 #7
0
        public async Task Add(RegisteredDomainEvent domainEvent)
        {
            using (IDbConnection db = new SqlConnection(connectionString))
            {
                string            insertCustomerSQL  = "INSERT INTO Customer (Id, Name, PIN, Version) VALUES (@Id, @Name, @PIN, @Version)";
                DynamicParameters customerParameters = new DynamicParameters();
                customerParameters.Add("@id", domainEvent.AggregateRootId);
                customerParameters.Add("@name", domainEvent.CustomerName.Text, DbType.AnsiString);
                customerParameters.Add("@pin", domainEvent.CustomerPIN.Text, DbType.AnsiString);
                customerParameters.Add("@version", domainEvent.Version);

                int customerRows = await db.ExecuteAsync(insertCustomerSQL, customerParameters);
            }
        }
コード例 #8
0
        protected void When(RegisteredDomainEvent domainEvent)
        {
            if (domainEvent == null)
            {
                throw new ArgumentNullException(nameof(domainEvent));
            }

            Id   = domainEvent.AggregateRootId;
            name = domainEvent.Name;
            pin  = domainEvent.PIN;

            Account account = Account.Load(domainEvent.AccountId, domainEvent.InitialAmount);

            accounts = new List <Account>();
            accounts.Add(account);
        }