コード例 #1
0
        public static Transaction Create(TransactionCreateArgs args)
        {
            Transaction transaction = new Transaction
            {
                TransactionId     = Guid.NewGuid(),
                TransactionCode   = RandomExpress.RandomizeString(16),
                TransactionName   = args.TransactionName,
                DebitAccountId    = args.DebitAccountId,
                CreditAccountId   = args.CreditAccountId,
                TransactionAmount = args.TransactionAmount,
                IssuedTime        = TimeUnit.FromDate(args.IssuedTime)
            };

            return(transaction);
        }
コード例 #2
0
        public async Task <ActionResult <TransactionCreateResponse> > Create([FromBody] TransactionCreateRequest request)
        {
            request.EnsureValidation();
            TransactionCreateArgs transactionCreateArgs = new TransactionCreateArgs
            {
                TransactionName   = request.Name,
                DebitAccountId    = request.DebitAccountId,
                CreditAccountId   = request.CreditAccountId,
                TransactionAmount = request.Amount,
                IssuedTime        = request.IssuedTime
            };
            IMediator mediator = Factory.Resolve <IMediator>();
            TransactionCreateResult transactionCreateResult = await mediator.Send(new TransactionCreateCommand(transactionCreateArgs));

            transactionCreateResult.EnsureSuccess();
            TransactionCreateResponse response = new TransactionCreateResponse
            {
                IsSuccess = true
            };

            return(Ok(response));
        }
コード例 #3
0
 public TransactionCreateCommand(TransactionCreateArgs args)
 {
     Args = args;
 }