Beispiel #1
0
        public static void getBulkEditProperties(ICswResources CswResources, BulkEditProperties ret, BulkEditParams Params)
        {
            CswNbtResources        NbtResources = (CswNbtResources)CswResources;
            CswNbtMetaDataNodeType NodeType     = NbtResources.MetaData.getNodeType(Params.NodeTypeId);

            if (null != NodeType)
            {
                ret.Data = new Collection <BulkEditProperty>();
                if (NbtResources.Permit.canNodeType(CswEnumNbtNodeTypePermission.View, NodeType))
                {
                    foreach (CswNbtMetaDataNodeTypeProp Prop in NodeType.getNodeTypeProps()
                             .Where(p => false == p.getFieldType().IsDisplayType() &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.File &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.Image &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.ImageList &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.LogicalSet &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.MOL &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.MetaDataList &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.Password &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.TimeInterval &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.ViewPickList &&
                                    p.getFieldType().FieldType != CswEnumNbtFieldType.ViewReference)
                             .OrderBy(p => p.PropName))
                    {
                        ret.Data.Add(new BulkEditProperty()
                        {
                            id   = Prop.PropId,
                            name = Prop.PropNameWithQuestionNo
                        });
                    }
                }
            }
        } // getBulkEditProperties()
Beispiel #2
0
        } // DownloadBulkEditData()

        private static void _recurseBulkEditData(CswNbtMetaDataNodeType NodeType, ICswNbtTree Tree, BulkEditDownload ret, BulkEditParams Params)
        {
            for (Int32 n = 0; n < Tree.getChildNodeCount(); n++)
            {
                Tree.goToNthChild(n);

                if (Tree.getNodeKeyForCurrentPosition().NodeTypeId == Params.NodeTypeId)
                {
                    _addNodeToData(NodeType, Tree.getCurrentNode(), ret, Params);
                }
                _recurseBulkEditData(NodeType, Tree, ret, Params);

                Tree.goToParentNode();
            }
        } // _recurseBulkEditData()
Beispiel #3
0
        } // _recurseBulkEditData()

        private static void _addNodeToData(CswNbtMetaDataNodeType NodeType, CswNbtNode Node, BulkEditDownload ret, BulkEditParams Params)
        {
            DataRow row = ret.CsvData.NewRow();

            row["nodeid"] = Node.NodeId.ToString();

            foreach (Int32 PropId in Params.PropIds)
            {
                CswNbtMetaDataNodeTypeProp Prop = NodeType.getNodeTypeProp(PropId);
                if (Prop.getFieldTypeRule().SubFields.Count > 1)
                {
                    foreach (CswNbtSubField SubField in Prop.getFieldTypeRule().SubFields)
                    {
                        row[Prop.PropName + " " + SubField.Name] = Node.Properties[Prop].GetSubFieldValue(SubField);
                    }
                }
                else
                {
                    row[Prop.PropName] = Node.Properties[Prop].GetSubFieldValue(Prop.getFieldTypeRule().SubFields.Default);
                }
            }
            ret.CsvData.Rows.Add(row);
        } // _addNodeToData()
Beispiel #4
0
        } // getBulkEditProperties()

        public static void DownloadBulkEditData(ICswResources CswResources, BulkEditDownload ret, BulkEditParams Params)
        {
            CswNbtResources        NbtResources = (CswNbtResources)CswResources;
            CswNbtMetaDataNodeType NodeType     = NbtResources.MetaData.getNodeType(Params.NodeTypeId);

            if (null != NodeType)
            {
                ret.CsvData = new DataTable();
                ret.CsvData.Columns.Add("nodeid");
                foreach (Int32 PropId in Params.PropIds)
                {
                    CswNbtMetaDataNodeTypeProp Prop = NodeType.getNodeTypeProp(PropId);
                    if (Prop.getFieldTypeRule().SubFields.Count > 1)
                    {
                        foreach (CswNbtSubField SubField in Prop.getFieldTypeRule().SubFields)
                        {
                            ret.CsvData.Columns.Add(Prop.PropName + " " + SubField.Name);
                        }
                    }
                    else
                    {
                        ret.CsvData.Columns.Add(Prop.PropName);
                    }
                }

                CswNbtView  View = NbtResources.ViewSelect.restoreView(new CswNbtViewId(Params.ViewId));
                ICswNbtTree Tree = NbtResources.Trees.getTreeFromView(View, RequireViewPermissions: true, IncludeSystemNodes: false, IncludeHiddenNodes: false);
                _recurseBulkEditData(NodeType, Tree, ret, Params);
            }
        } // DownloadBulkEditData()