/// <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(); } } }
/// <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(); } } }