public void RemoveDynamicObjectListItem(Session session, Guid objectId, Guid objectCustomFieldId) { DynamicObjectListSerialize dynamicObjectList = null; NAS.DAL.CMS.ObjectDocument.Object CMSObject = session.GetObjectByKey <NAS.DAL.CMS.ObjectDocument.Object>(objectId); if (CMSObject == null) { return; } if (CMSObject.DynamicObjectList != null) { using (MemoryStream stream = new MemoryStream(CMSObject.DynamicObjectList)) { dynamicObjectList = DynamicObjectListSerialize.Deserialize(stream); if (dynamicObjectList == null) { dynamicObjectList = new DynamicObjectListSerialize(); } } using (MemoryStream stream = new MemoryStream()) { string key = objectCustomFieldId.ToString().Replace("-", ""); if (dynamicObjectList.ContainsKey(key)) { dynamicObjectList.Remove(key); } DynamicObjectListSerialize.Serialize(dynamicObjectList, stream); CMSObject.DynamicObjectList = stream.ToArray(); CMSObject.Save(); } } }
public void SetDynamicObjectListItem(Session session, Guid objectId, DynamicObjectListSerializeDataItem data) { DynamicObjectListSerialize dynamicObjectList = null; NAS.DAL.CMS.ObjectDocument.Object CMSObject = session.GetObjectByKey <NAS.DAL.CMS.ObjectDocument.Object>(objectId); if (CMSObject == null) { return; } if (CMSObject.DynamicObjectList != null) { using (MemoryStream stream = new MemoryStream(CMSObject.DynamicObjectList)) { dynamicObjectList = DynamicObjectListSerialize.Deserialize(stream); if (dynamicObjectList == null) { dynamicObjectList = new DynamicObjectListSerialize(); } } } else { dynamicObjectList = new DynamicObjectListSerialize(); } using (MemoryStream stream = new MemoryStream()) { dynamicObjectList[data.GetKey()] = data; DynamicObjectListSerialize.Serialize(dynamicObjectList, stream); CMSObject.DynamicObjectList = stream.ToArray(); CMSObject.Save(); } }