Exemple #1
0
        public async Task <IEnumerable <Erc20ContractModel> > GetAsync(Erc20ContractQuery query)
        {
            var filterBuilder = Builders <Erc20ContractEntity> .Filter;
            var filter        = filterBuilder.Empty;

            if (!string.IsNullOrEmpty(query.Address))
            {
                filter &= filterBuilder.Eq(x => x.Address, query.Address);
            }
            else if (!string.IsNullOrEmpty(query.NameOrSymbol))
            {
                filter &= filterBuilder.Or
                          (
                    filterBuilder.Regex(x => x.TokenSymbol, query.NameOrSymbol),
                    filterBuilder.Regex(x => x.TokenName, query.NameOrSymbol)
                          );
            }

            return((await _collection.Find(filter)
                    .SortBy(x => x.TokenSymbol)
                    .ThenBy(x => x.TokenName)
                    .ThenBy(x => x.Address)
                    .Skip(query.Start)
                    .Limit(query.Count)
                    .ToListAsync())
                   .Select(_mapper.Map <Erc20ContractModel>));
        }
Exemple #2
0
 private async Task <IEnumerable <Erc20TokenResponse> > QueryServiceAsync(Erc20ContractQuery query)
 {
     return((await _contractService.GetAsync(query))
            .Select(x => new Erc20TokenResponse
     {
         ContractAddress = x.Address,
         Decimals = x.TokenDecimals,
         Name = x.TokenName,
         Symbol = x.TokenSymbol,
         TotalSupply = x.TokenTotalSupply.ToString()
     }));
 }
Exemple #3
0
 public async Task <IEnumerable <Erc20ContractModel> > GetAsync(Erc20ContractQuery query)
 {
     return(await _contractRepository.GetAsync(query));
 }