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