예제 #1
0
 private static Fluent.ModuleBuilder AddCustomer(this Fluent.ModuleBuilder mb)
 {
     return(mb.AddModel("Customer")
            .WithDefaultKey()
            .AddField("FirstName").DataType(Domain.DataTypes.String).MaxLength(100).Build
            .AddField("LastName").DataType(Domain.DataTypes.String).MaxLength(100).Build
            .AddField("Email").BusinessKey(true).DataType(Domain.DataTypes.String).MaxLength(256).Build
            .Build
            .AddRequest("CreateCustomer")
            .AddField("FirstName").DataType(Domain.DataTypes.String).Build
            .AddField("LastName").DataType(Domain.DataTypes.String).Build
            .AddField("Email").DataType(Domain.DataTypes.String).Build
            .Build);
 }
예제 #2
0
 private static Fluent.ModuleBuilder AddAccount(this Fluent.ModuleBuilder mb)
 {
     return(mb.AddModel("Account")
            .WithDefaultKey()
            .AddField("OwnerId").BusinessKey(true).DataType(Domain.DataTypes.UniqueIdentifier).Build
            .AddField("Balance").DataType(Domain.DataTypes.Object).DataTypeTypeName("Money").Build
            .AddBehaviour("Withdraw", Domain.BehaviourVerb.Post)
            .Raising("Withdrawal")
            .AddRequest("AccountWithdrawRequest")
            .AddField("Amount").DataType(Domain.DataTypes.Object).DataTypeTypeName("Money").Build
            .Build
            .Build
            .AddBehaviour("Deposit", Domain.BehaviourVerb.Post)
            .Raising("Deposit")
            .AddRequest("AccountWithdrawRequest")
            .AddField("Amount")
            .DataType(Domain.DataTypes.Object)
            .DataTypeTypeName("Money")
            .Build
            .Build
            .Build
            .Build
            .AddRequest("CreateAccount")
            .AddField("CustomerId").DataType(Domain.DataTypes.UniqueIdentifier).Build
            .AddField("AccountId").DataType(Domain.DataTypes.UniqueIdentifier).Build
            .AddField("Currency").DataType(Domain.DataTypes.Object).DataTypeTypeName("Currency").Build
            .Build
            .AddRequest("Deposit")
            .AddField("AccountId").DataType(Domain.DataTypes.UniqueIdentifier).Build
            .AddField("Amount").DataType(Domain.DataTypes.Object).DataTypeTypeName("Money").Build
            .Build
            .AddRequest("Withdraw")
            .AddField("AccountId").DataType(Domain.DataTypes.UniqueIdentifier).Build
            .AddField("Amount").DataType(Domain.DataTypes.Object).DataTypeTypeName("Money").Build
            .Build);
 }