public async Task <ActionResult <LocalFacetsModel> > GetPropertyFacets(EntityTypeDetailsRequest request) { if (!_permissionService.IsAllowed(new ActionRequestInfo(HttpContext, _implementations, null, ActionTypeEnum.ManageMetadata))) { return(Unauthorized()); } var validationMessage = await MetadataValidationLogic.GetPropertyFacetsValidation(request, _dbContext); if (!string.IsNullOrEmpty(validationMessage)) { return(StatusCode(400, validationMessage)); } var result = new LocalFacetsModel() { LocalFacets = (await _dbContext.PropertyFacetValues.Where(x => x.Property.OwnerEntityTypeId == request.EntityTypeId) .Select(v => new { v.Id, TypeName = v.Property.Name, FacetName = v.FacetDefinition.Name, v.Value }).ToListAsync()) .GroupBy(v => v.TypeName) .ToDictionary(v => v.Key, v => v.ToDictionary(g => g.FacetName, g => g.Value)) }; return(result); }
public async Task <ActionResult <LocalFacetsModel> > GetTypeFacets() { if (!_permissionService.IsAllowed(new ActionRequestInfo(HttpContext, _implementations, null, ActionTypeEnum.ManageMetadata))) { return(Unauthorized()); } var result = new LocalFacetsModel() { LocalFacets = (await _dbContext.EntityFacetValues.Select(v => new { v.Id, TypeName = v.Entity.Name, FacetName = v.FacetDefinition.Name, v.Value }).ToListAsync()) .GroupBy(v => v.TypeName) .ToDictionary(v => v.Key, v => v.ToDictionary(g => g.FacetName, g => g.Value)) }; return(result); }