Beispiel #1
0
        /// <summary>
        ///     给文件添加元数据
        /// </summary>
        /// <param name="metaValues">元数据属性值对象</param>
        /// <param name="fileId">Edoc2文件ID</param>
        /// <param name="metaTypeId">元数据类型ID</param>
        /// <param name="getAttrValue">元数据属性对应值的方法</param>
        /// <returns></returns>
        public static List <IEDoc2MetaObjType> AddFileMetaByMetaTypeId(
            object metaValues, int fileId, int metaTypeId, GetAttrValueDelegate getAttrValue)
        {
            try
            {
                IEDoc2File file;
                ApiManager.Api.DocumentManagement.GetFileById(fileId, out file);
                List <IEDoc2MetaAttr> metaAttrList;
                ApiManager.Api.MetaDataManagement.GetMetaAttrByTypeId(Token, metaTypeId, out metaAttrList);

                var metaValueList = new List <IEDoc2MetaValue>();
                foreach (IEDoc2MetaAttr attr in metaAttrList)
                {
                    var value = new EDoc2MetaValue();
                    value.AttrId    = attr.AttrId;
                    value.AttrPath  = metaTypeId + "\\";
                    value.AttrValue = getAttrValue(metaValues, attr.AttrName);
                    value.ObjId     = file.FileLastVerId;
                    value.ObjType   = 3;

                    metaValueList.Add(value);
                }

                IEDoc2MetaObjType metaObjType = new EDoc2MetaObjType(0, file.FileLastVerId, 3, metaTypeId, metaValueList);
                var edoc2MetaObjTypeList      = new List <IEDoc2MetaObjType>();
                edoc2MetaObjTypeList.Add(metaObjType);

                int lastVerId;
                file.CreateSysMetaData(Token, edoc2MetaObjTypeList, out lastVerId);
                file.OverlayPrevVersion(Token);

                return(edoc2MetaObjTypeList);
            }
            catch (Exception ex)
            {
                throw new Exception("AddFileMetaByMetaTypeId出现异常,exMessage=" + ex.Message);
            }
        }
Beispiel #2
0
        private static List<IEDoc2MetaObjType> GetMetaObjTypeByStrMeta(List<IEDoc2MetaObjType> metaObjTypeList)
        {
            var edoc2MetaObjTypeList = new List<IEDoc2MetaObjType>();
            foreach (IEDoc2MetaObjType oldMetaObjType in metaObjTypeList)
            {

                var metaValueList = new List<IEDoc2MetaValue>();

                foreach (IEDoc2MetaValue oldMetaValue in oldMetaObjType.EDoc2MetaValueList)
                {
                    IEDoc2MetaValue metaValue = new EDoc2MetaValue();
                    metaValue.AttrId = oldMetaValue.AttrId;
                    metaValue.AttrPath = oldMetaValue.AttrPath;
                    metaValue.AttrValue = oldMetaValue.AttrValue;

                    metaValueList.Add(metaValue);
                }
                var metaObjType = new EDoc2MetaObjType(oldMetaObjType.ObjData, oldMetaObjType.ObjId, oldMetaObjType.ObjType, oldMetaObjType.TypeId, metaValueList);
                IEDoc2MetaObjType IMetaObjType = metaObjType;
                edoc2MetaObjTypeList.Add(IMetaObjType);
            }
            return edoc2MetaObjTypeList;
        }