public IEnumerable <Community> List() { logger.LogDebug("Listando comunidades"); var query = new CommunitiesQuery(node.Blockchain); return(query.Execute()); }
public async Task <CommunitiesQueryResponse> Handle(CommunitiesQuery req) { var communities = mapper.Map <IEnumerable <Shared.Contracts.Metadata.Community> >(await metadataRepository.GetCommunities()); if (!string.IsNullOrEmpty(req.CountryCode)) { communities = communities.Where(c => c.CountryCode == req.CountryCode); } if (!string.IsNullOrEmpty(req.StateProvinceCode)) { communities = communities.Where(c => c.StateProvinceCode == req.StateProvinceCode); } if (req.Types != null && req.Types.Any()) { var types = req.Types.Select(t => t.ToString()).ToArray(); communities = communities.Where(c => types.Any(t => t == c.Type.ToString())); } return(new CommunitiesQueryResponse { Items = communities }); }
public async Task <CommunitiesQueryResponse> Handle(CommunitiesQuery req) { var communities = await cache.GetOrAdd("metadata:communities", () => metadataRepository.GetCommunities(), DateTimeOffset.Now.Add(cacheEntryLifetime)); if (!string.IsNullOrEmpty(req.CountryCode)) { communities = communities.Where(c => c.CountryCode == req.CountryCode); } if (!string.IsNullOrEmpty(req.StateProvinceCode)) { communities = communities.Where(c => c.StateProvinceCode == req.StateProvinceCode); } if (req.Types != null && req.Types.Any()) { var types = req.Types.Select(t => t.ToString()).ToArray(); communities = communities.Where(c => types.Any(t => t == c.Type.ToString())); } return(new CommunitiesQueryResponse { Items = mapper.Map <IEnumerable <Community> >(communities) }); }