コード例 #1
0
        public async Task <IActionResult> Get(string identifier)
        {
            var response = await mediator.Send(new AccountByIdentifier(identifier));

            if (response.Invalid)
            {
                return(ValidationError(response));
            }

            return(Ok(PayloadResponse <GetAccountResponse> .Create(new GetAccountResponse(response.Result as AccountEntity))));
        }
コード例 #2
0
        public async Task <IActionResult> PosTransaction([FromRoute] Guid account_id, [FromBody] PostTransactionRequest request)
        {
            var response = await mediator.Send(new PublishTransaction(account_id, request.Value, request.Type));

            if (response.Invalid)
            {
                return(ValidationError(response));
            }

            return(Created("", PayloadResponse.Create()));
        }
コード例 #3
0
        public async Task <IActionResult> Post(PostTransferFundsRequest request)
        {
            var response = await mediator.Send(new Transfer(request.From, request.To, request.Value));

            if (response.Invalid)
            {
                return(ValidationError(response));
            }

            return(Ok(PayloadResponse.Create(true)));
        }
コード例 #4
0
        public async Task <IActionResult> GetBalance([FromRoute] Guid account_id)
        {
            var response = await mediator.Send(new TransactionsByAccount(account_id));

            if (response.Invalid)
            {
                return(ValidationError(response));
            }

            var transactions = response.Result as List <TransactionEntity>;

            return(Ok(PayloadResponse <decimal> .Create(transactions.Sum(x => x.Value))));
        }
コード例 #5
0
        public async Task <IActionResult> GetTransactions([FromRoute] Guid account_id)
        {
            var response = await mediator.Send(new TransactionsByAccount(account_id));

            if (response.Invalid)
            {
                return(ValidationError(response));
            }

            var transactions = response.Result as List <TransactionEntity>;

            var result = transactions.Select(tr => new GetTransactionsResponse(tr)).ToList();

            return(Ok(PayloadResponse <List <GetTransactionsResponse> > .Create(result)));
        }
コード例 #6
0
 protected BadRequestObjectResult ValidationError(Response validation)
 {
     return(BadRequest(PayloadResponse <List <string> > .Create(validation.Notifications, false)));
 }