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;
                }
            }
        }