public async Task <List <AccountDTO> > GetAccounts(GetAccountsFilter filter, CancellationToken cancellationToken = default) { try { return(await _accountsQueryHandler.HandleAsync(filter, cancellationToken)); } catch (Exception ex) { throw ex; } }
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; } }
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)); }
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))); }