Exemplo n.º 1
0
        /// <summary>
        /// 设置storageEntity对应dataField的值
        /// </summary>
        public static void SetData(Document doc, IExtensibleStorageEntity storageEntity, string dataField, string data)
        {
            var    storage = GetStorageByName(doc, storageEntity.StorageName);
            var    schema  = GetSchema(storageEntity.SchemaId, storageEntity.SchemaName, storageEntity.FieldNames);
            Entity entity  = storage.GetEntity(schema);

            if (storage == null)
            {
                storage = CreateStorage(doc, storageEntity.StorageName);
                entity  = new Entity(schema);
                entity.Set <string>(schema.GetField(dataField), data);
                storage.SetEntity(entity);
            }
            else
            {
                if (entity.IsValid())
                {
                    entity.Set <string>(schema.GetField(dataField), data);
                    storage.SetEntity(entity);
                }
                else
                {
                    entity = new Entity(schema);
                    entity.Set <string>(schema.GetField(dataField), data);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 删除对应名称的DataStorage
        /// </summary>
        /// <param name="doc"></param>
        /// <param name="storageName"></param>
        public static void RemoveStorage(Document doc, IExtensibleStorageEntity storageEntity)
        {
            var storage = GetStorageByName(doc, storageEntity.StorageName);

            if (storage != null)
            {
                doc.Delete(storage.Id);
            }
        }
Exemplo n.º 3
0
        private static void setData(Document doc, IExtensibleStorageEntity storageEntity, List <string> dataFields, string dataField, string data)
        {
            var    storage = GetOrCreateStorage(doc, storageEntity.StorageName);
            var    schema  = GetSchema(storageEntity.SchemaId, storageEntity.SchemaName, dataFields);
            Entity entity  = new Entity(schema);

            entity.Set <string>(schema.GetField(dataField), data);
            storage.SetEntity(entity);
        }
Exemplo n.º 4
0
 /// <summary>
 /// 设置storageEntity对应dataField的值
 /// </summary>
 public static void SetData(Document doc, IExtensibleStorageEntity storageEntity, List <string> dataFields, string dataField, string data)
 {
     try
     {
         setData(doc, storageEntity, dataFields, dataField, data);
     }
     catch (Exception ex)
     {
         RemoveStorage(doc, storageEntity);
         setData(doc, storageEntity, dataFields, dataField, data);
     }
 }
Exemplo n.º 5
0
        private static string getData(Document doc, IExtensibleStorageEntity storageEntity, List <string> dataFields, string dataField)
        {
            var    schema  = GetSchema(storageEntity.SchemaId, storageEntity.SchemaName, dataFields);
            var    storage = GetOrCreateStorage(doc, storageEntity.StorageName);
            Entity entity  = storage.GetEntity(schema);

            if (!entity.IsValid())
            {
                return("");
            }
            return(entity.Get <string>(schema.GetField(dataField)));
        }
Exemplo n.º 6
0
 /// <summary>
 /// 通过storageEntity获取对应dataField的值
 /// </summary>
 public static string GetData(Document doc, IExtensibleStorageEntity storageEntity, List <string> dataFields, string dataField)
 {
     try
     {
         return(getData(doc, storageEntity, dataFields, dataField));
     }
     catch (Exception ex)
     {
         RemoveStorage(doc, storageEntity);
         return(getData(doc, storageEntity, dataField));
     }
 }