Example #1
0
        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();
                }
            }
        }
Example #2
0
        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();
            }
        }