예제 #1
0
        private async Task <bool> _saveNodeProperty(OrgTree node)
        {
            //获取此节点类型对应的属性
            List <OrgNodeTypeProperty> typeProps = await _orgRepo.ListNodeTypeProperty(node.NodeType);

            List <OrgNodeProperty> props = new List <OrgNodeProperty>();

            foreach (OrgNodeProperty prop in node.PropEx)
            {
                foreach (var tp in typeProps)
                {
                    // 只存数据库内配置的属性
                    if (tp.NodeAttr.Equals(prop.NodeAttr))
                    {
                        OrgNodeProperty newprop = new OrgNodeProperty();
                        newprop.NodeID    = node.Id;
                        newprop.NodeAttr  = prop.NodeAttr;
                        newprop.AttrValue = prop.AttrValue;
                        props.Add(prop);
                        break;
                    }
                }
                prop.NodeID = node.Id;
            }
            if (props.Count > 0)
            {
                await _orgRepo.SaveOrgNodeProperty(props);

                return(true);
            }
            return(false);
        }