public ResourceAttributeValueModel(R.SingleResource resource) { AttributeIds = new List <long>(); //get only Id if attr has domain constraint foreach (ResourceAttributeUsage u in resource.ResourceStructure.ResourceAttributeUsages) { if (u.IsFileDataType == false) { if (u.ResourceStructureAttribute.Constraints.Count > 0) { AttributeIds.Add(u.ResourceStructureAttribute.Id); } } } //AttributeIds = resource.ResourceStructure.ResourceAttributeUsages.Select(a => a.ResourceStructureAttribute.Id).ToList(); Values = new List <string>(); using (ResourceStructureAttributeManager rsaManager = new ResourceStructureAttributeManager()) { List <RS.ResourceAttributeValue> valueList = rsaManager.GetValuesByResource(resource); foreach (RS.ResourceAttributeValue v in valueList) { if (v is TextValue) { TextValue tv = (TextValue)v; Values.Add(tv.Value); } //Values = valueList.Select(a => a.Value).ToList(); Resource = resource; } } }