/// <summary> /// Delete a product /// </summary> /// <param name="product">Product to delete</param> public override void DeleteProduct(ProductItem product) { var scope = this.GetContext(); this.ClearContentLinks(product); ////remove the item from the parent list of inheritors //var securityRoot = this.GetSecurityRoot(); //if (securityRoot != null) //{ // List<PermissionsInheritanceMap> parentInheritors = securityRoot.PermissionChildren.Where(c => c.ChildObjectId == product.Id).ToList(); // for (int inheritor = 0; inheritor < parentInheritors.Count(); inheritor++) // { // securityRoot.PermissionChildren.Remove(parentInheritors[inheritor]); // } //} ////remove the relevant permissions this.providerDecorator.DeletePermissions(product); this.ClearLifecycle(product, this.GetProducts()); if (scope != null) { scope.Remove(product); } this.DeleteItemComments(product.GetType(), product.Id); }