private CkEntityAttributeDto CreateCkEntityAttributeDto(AttributeCacheItem attributeCacheItem) { var ckEntityAttributeDto = new CkEntityAttributeDto { AttributeId = attributeCacheItem.AttributeId, AttributeName = StringExtensions.ToCamelCase(attributeCacheItem.AttributeName), AttributeValueType = (AttributeValueTypesDto)attributeCacheItem.AttributeValueType, IsAutoCompleteEnabled = attributeCacheItem.IsAutoCompleteEnabled, AutoCompleteTexts = attributeCacheItem.AutoCompleteTexts, AutoCompleteFilter = attributeCacheItem.AutoCompleteFilter, AutoCompleteLimit = attributeCacheItem.AutoCompleteLimit, AutoIncrementReference = attributeCacheItem.AutoIncrementReference, Attribute = CkAttributeDtoType.CreateCkAttributeDto(attributeCacheItem) }; return(ckEntityAttributeDto); }
private object ResolveAttributes(IResolveConnectionContext <CkEntityDto> ctx) { var graphQlContext = (GraphQLUserContext)ctx.UserContext; ctx.TryGetArgument(Statics.AttributeNamesFilterArg, out IEnumerable <string> filterAttributeNames); var entityCacheItem = graphQlContext.TenantContext.CkCache.GetEntityCacheItem(ctx.Source.CkId); IEnumerable <AttributeCacheItem> resultList; if (filterAttributeNames == null) { resultList = entityCacheItem.Attributes.Values; } else { resultList = entityCacheItem.Attributes.Values.Where(a => filterAttributeNames.Contains(StringExtensions.ToCamelCase(a.AttributeName))); } return(ConnectionUtils.ToConnection(resultList.Select(CreateCkEntityAttributeDto), ctx)); }