Exemple #1
0
 protected RelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship?relationship, OGM inItem, OGM outItem)
 {
     Relationship        = relationship;
     InItem              = inItem;
     OutItem             = outItem;
     PersistenceProvider = persistenceProvider;
 }
        protected virtual void LazyLoad()
        {
            if (IsLoaded)
            {
                return;
            }

            if (Parent.PersistenceState == PersistenceState.New || Parent.PersistenceState == PersistenceState.NewAndChanged)
            {
                InitialLoad(empty);
                return;
            }

            Transaction trans = Transaction.RunningTransaction;

            if (trans.Mode == OptimizeFor.RecursiveSubGraphAccess)
            {
                trans.LoadAll(this);
                return;
            }

            IEnumerable <CollectionItem> items = RelationshipPersistenceProvider.Load(Parent, this);

            InitialLoad(items);
        }
 internal TimeDependentRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?moment)
     : base(persistenceProvider, relationship, inItem, outItem)
 {
     // WATCH OUT!!!!
     // you cannot set a NULL datetime to DateTime.MinValue, the default is to have actions happen at the TransactionDate!!!
     Moment = (moment.HasValue) ? moment.Value : Transaction.RunningTransaction.TransactionDate;
 }
 internal TimeDependentRemoveRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?moment)
     : base(persistenceProvider, relationship, inItem, outItem, moment)
 {
 }
Exemple #5
0
 internal AddRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem)
     : base(persistenceProvider, relationship, inItem, outItem)
 {
 }
 internal TimeDependentClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM?inItem, OGM?outItem, DateTime?moment)
     : base(persistenceProvider, relationship, inItem !, outItem !, moment)
Exemple #7
0
 internal ClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, OGM item)
     : base(persistenceProvider, null, item, item)
 {
 }
Exemple #8
0
 internal TimeDependentRemoveUnmanagedRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?startDate)
     : base(persistenceProvider, relationship, inItem, outItem, startDate)
 {
 }
Exemple #9
0
 internal ClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, Relationship?relationship, OGM?inItem, OGM?outItem)
     : base(persistenceProvider, relationship, inItem !, outItem !)
Exemple #10
0
 internal TimeDependentAddUnmanagedRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?startDate, DateTime?endDate)
     : base(persistenceProvider, relationship, inItem, outItem, startDate)
 {
     EndDate = (endDate.HasValue) ? endDate.Value : DateTime.MaxValue;
 }
 internal TimeDependentClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM item, DateTime?moment)
     : base(persistenceProvider, relationship, item, item, moment)
 {
 }
Exemple #12
0
 internal TimeDependentRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM?inItem, OGM?outItem, DateTime?moment)
     : base(persistenceProvider, relationship, inItem, outItem)
 {
     // WATCH OUT: null should be interpreted as "since forever", if TransactionDate was intended please pass that instead when constructing this object.
     Moment = (moment.HasValue) ? moment.Value : Conversion.MinDateTime;
 }
Exemple #13
0
 internal RemoveRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM?inItem, OGM?outItem)
     : base(persistenceProvider, relationship, inItem, outItem)
 {
 }