Exemplo n.º 1
0
        public override void OnAfterExecuteOperations(IBusinessObject businessObject)
        {
            if (this.groupId == null)
            {
                return;
            }

            ItemMapper mapper = DependencyContainerManager.Container.Get <ItemMapper>();

            XElement xml = mapper.GetItemEquivalents(this.businessObject.Id.Value, this.groupId.Value);

            if (xml.Elements().Count() == 1)
            {
                Item item = (Item)mapper.LoadBusinessObject(BusinessObjectType.Item, new Guid(xml.Element("item").Attribute("id").Value));

                item.Relations.Remove(item.Relations.Children.Where(r => r.ItemRelationTypeName == ItemRelationTypeName.Item_EquivalentGroup).First());

                using (ItemCoordinator c = new ItemCoordinator(false, false))
                {
                    c.SaveBusinessObject(item);
                }
            }
        }