Esempio n. 1
0
 public async Task <List <AccountDTO> > GetAccounts(GetAccountsFilter filter, CancellationToken cancellationToken = default)
 {
     try
     {
         return(await _accountsQueryHandler.HandleAsync(filter, cancellationToken));
     }
     catch (Exception ex)
     { throw ex; }
 }
Esempio n. 2
0
        public async Task <List <AccountDTO> > HandleAsync(GetAccountsFilter filter, CancellationToken cancellationToken)
        {
            try
            {
                // validate filter
                ValidateFilter(filter);

                var dtos     = new List <AccountDTO>();
                var accounts = await _accountRepository.GetAsync(filter, cancellationToken);

                accounts.ToList().ForEach(ac =>
                                          dtos.Add(ac.ToDTO()));

                return(dtos);
            }
            catch (Exception ex)
            { throw ex; }
        }
Esempio n. 3
0
        public async Task <List <GetAccountResponse> > GetAllAccounts(GetAccountsFilter filter)
        {
            // prepare filter predicate
            var predicate = PredicateBuilder.New <Account>(true);

            if (!string.IsNullOrEmpty(filter?.SearchString))
            {
                predicate = predicate.Or(p => p.Email.ToLower().Contains(filter.SearchString.ToLower()));
                predicate = predicate.Or(p => p.Id.ToString().ToLower().Contains(filter.SearchString.ToLower()));
            }

            if (filter?.Role is not null)
            {
                predicate = predicate.And(p => p.Role == filter.Role);
            }

            var accounts = await _unitOfWork.Accounts.Find(predicate);

            return(_mapper.Map <List <GetAccountResponse> >(accounts));
        }
Esempio n. 4
0
        public async Task <IActionResult> GetCPFVoucherAccounts([FromRoute] GetCPFAccountsRequest request, CancellationToken cancellationToken = default)
        {
            GetCPFAccountsResponse response = new GetCPFAccountsResponse();

            try
            {
                var filter = new GetAccountsFilter(request.Company, request.CPF, AccountType.Voucher);
                var result = await _accountsAppService.GetAccounts(filter, cancellationToken);

                response.StatusCode = 200;
                response.Data       = result;

                return(Ok(response));
            }
            catch (Exception ex)
            {
                response.StatusCode = 500;
                response.Messages.Add(ResponseMessage.Create(ex, ""));

                return(StatusCode(500, response));
            }
        }
 public async Task <ActionResult <List <GetAccountResponse> > > GetAccounts([FromQuery] GetAccountsFilter filter)
 {
     return(Ok(await _accountService.GetAllAccounts(filter)));
 }