예제 #1
0
        /// <summary>
        /// RolePlayerChangeRule: typeof(ReadingOrderHasReading), FireTime=LocalCommit, Priority=ORMCoreDomainModel.BeforeDelayValidateRulePriority;
        /// </summary>
        private static void EnforceNoEmptyReadingOrderRolePlayerChangeRule(RolePlayerChangedEventArgs e)
        {
            ReadingOrderHasReading link = e.ElementLink as ReadingOrderHasReading;

            if (e.DomainRole.Id == ReadingOrderHasReading.ReadingOrderDomainRoleId)
            {
                ReadingOrder order = (ReadingOrder)e.OldRolePlayer;
                if (!order.IsDeleted && order.ReadingCollection.Count == 0)
                {
                    order.Delete();
                }
            }
        }
예제 #2
0
        /// <summary>
        /// DeleteRule: typeof(ReadingOrderHasReading), FireTime=LocalCommit, Priority=ORMCoreDomainModel.BeforeDelayValidateRulePriority;
        /// If the ReadingOrder.ReadingCollection is empty then remove the ReadingOrder
        /// </summary>
        private static void EnforceNoEmptyReadingOrderDeleteRule(ElementDeletedEventArgs e)
        {
            ReadingOrderHasReading link    = e.ModelElement as ReadingOrderHasReading;
            ReadingOrder           readOrd = link.ReadingOrder;

            if (!readOrd.IsDeleted)
            {
                if (readOrd.ReadingCollection.Count == 0)
                {
                    readOrd.Delete();
                }
            }
        }