Exemple #1
0
        public async Task <TransactionDto> GetTransactionByIdAsync(GetTransactionByIdRequest request, CancellationToken cancellationToken)
        {
            var caller = CallerExtensions.LogCaller();
            var dto    = await GetByIdAsync(() => _transactionService.GetTransactionById(request.Id), caller.Method, cancellationToken);

            return(dto);
        }
        public async Task <GetFlatTransactionResponse> GetFlatTransactionByIdAsync(string transactionId, IEnumerable <string> requestingParties, string accessToken = null, TraceContext traceContext = null)
        {
            var request = new GetTransactionByIdRequest {
                LedgerId = LedgerId, TransactionId = transactionId, TraceContext = traceContext
            };

            request.RequestingParties.AddRange(requestingParties);
            return(await _transactionsClient.WithAccess(accessToken).Dispatch(request, (c, r, co) => c.GetFlatTransactionByIdAsync(r, co)));
        }
Exemple #3
0
        public async Task <IActionResult> GetTransactionById([FromQuery] string id)
        {
            var request = new GetTransactionByIdRequest
            {
                Id = id
            };

            var result = await _mediator.Send(request);

            return(GetResponse(result));
        }
Exemple #4
0
        public async Task <IHttpActionResult> GetTransactionByIdAsync([FromUri] int id, CancellationToken cancellationToken)
        {
            var url = $"{BaseUrl}/{id}";

            Log.Info($"GetTransactionByIdAsync - Url: {url}");

            var request = new GetTransactionByIdRequest
            {
                Id = id
            };
            var commandResult = await _transactionModule.GetTransactionByIdAsync(request, cancellationToken);

            return(GetResponse(commandResult));
        }
Exemple #5
0
        public async Task <CommandResult <TransactionDto> > GetTransactionByIdAsync(GetTransactionByIdRequest request, CancellationToken cancellationToken)
        {
            var parameters = new { request, cancellationToken };

            try
            {
                if (request == null)
                {
                    return(ExceptionExtensions.GetBadResponse <TransactionDto>(parameters));
                }
            }

            catch (Exception e)
            {
                return(e.GetBadResponse <TransactionDto>(parameters));
            }

            var validator        = new GetTransactionByIdRequestValidator();
            var validationResult = await validator.ValidateAsync(request, cancellationToken);

            if (!validationResult.IsValid)
            {
                return(validationResult.GetBadResponse <TransactionDto>(parameters));
            }

            try
            {
                var dto = await _moduleImpl.GetTransactionByIdAsync(request, cancellationToken);

                if (dto == null)
                {
                    return(CommandResult <TransactionDto> .NotFound());
                }

                return(CommandResult <TransactionDto> .Ok(dto));
            }

            catch (Exception e)
            {
                return(e.GetInternalServerErrorResponse <TransactionDto>(parameters));
            }
        }
Exemple #6
0
        public async Task <TransactionResponseDataModel <GetTransactionResponseModel> > Handle(GetTransactionByIdRequest request, CancellationToken cancellationToken)
        {
            var response = new TransactionResponseDataModel <GetTransactionResponseModel>();

            try
            {
                var entity = await _repository.GetTransactionByIdAsync(request.Id);

                var transaction = _mapper.Map <GetTransactionResponseModel>(entity);

                response.Data = new List <GetTransactionResponseModel>
                {
                    transaction
                };
                response.StatusCode = StatusCodes.Status200OK;
            }
            catch (Exception)
            {
                return(new TransactionResponseDataModel <GetTransactionResponseModel>
                {
                    StatusCode = StatusCodes.Status500InternalServerError
                });
            }

            return(response);
        }