示例#1
0
        /// <summary>
        ///     Deletes the specified <paramref name="node" />from the process framework database table
        /// </summary>
        /// <param name="node">The node.</param>
        /// <param name="message">The message.</param>
        /// <param name="status">The status.</param>
        protected override void InternalDelete(IMMPxNode node, ref string message, ref int status)
        {
            if (node == null)
            {
                return;
            }

            IMMPxDeleter deleter = this.GetNodeDeleter(node);

            if (deleter != null)
            {
                deleter.PxApplication = base.PxApplication;
                deleter.Delete(node, ref message, ref status);
            }

            BasePxEdmRepository edm = this.GetEdmRepository(base.PxApplication);

            if (edm != null && edm.Initialize(base.PxApplication))
            {
                edm.Delete(node.Id);
                message += string.Format(CultureInfo.CurrentCulture, ". Deleted the EDM values for the node with ID: {0}.", node.Id);
            }
        }