public void TestCascadeDeleteWithRelationships2( ) { var f1 = Entity.Create <NavContainer>( ); f1.Name = "f1"; f1.Save( ); var f2 = Entity.Create <NavContainer>( ); f2.Name = "f2"; f2.ResourceInFolder.Add(f1); var f3 = Entity.Create <NavContainer>( ); f3.Name = "f3"; f3.ResourceInFolder.Add(f2); f3.ShortcutInFolder.Add(f1); f3.Save( ); long id1 = f1.Id; Assert.IsTrue(Entity.Exists(f1), "a f1"); Assert.IsTrue(Entity.Exists(f2), "a f2"); Assert.IsTrue(Entity.Exists(f3), "a f3"); f2.Delete( ); Assert.AreEqual(0, f3.Shortcuts.Count); IEntity e = Entity.Get(id1); var relDefn = new EntityRef("console", "shortcutInFolder"); IEntityRelationshipCollection <IEntity> oRelated = e.GetRelationships(relDefn, Direction.Reverse); Assert.IsFalse(oRelated.Any(ri => ri.Entity == null)); Assert.AreEqual(0, oRelated.Count); f1.Delete( ); }
public void SetChoiceMultiple( ) { var sch = new ScheduleDailyRepeat { Name = "Test sch" + DateTime.Now }; sch.Save( ); // _toDelete.Add(sch.Id); var setAction = new SetChoiceActivity( ); setAction.Save( ); ToDelete.Add(setAction.Id); var setChoiceAs = setAction.As <WfActivity>( ); ActivityImplementationBase nextActivity = setChoiceAs.CreateWindowsActivity( ); var dayOfWeekRef = ( EntityRef )"core:sdrDayOfWeek"; var args = new Dictionary <string, object> { { "Resource to Update", sch }, { "Field to Update", dayOfWeekRef.Entity }, { "New Value", new EntityRef("core:dowSunday").Entity }, }; RunActivity(nextActivity, args); sch = Entity.Get <ScheduleDailyRepeat>(sch.Id); IEntityRelationshipCollection <IEntity> dowRefs = sch.GetRelationships(dayOfWeekRef); Assert.AreEqual(1, dowRefs.Count( ), "has been set"); Assert.IsTrue(dowRefs.Any(w => w.Entity.Alias == "dowSunday")); args = new Dictionary <string, object> { { "Resource to Update", sch }, { "Field to Update", dayOfWeekRef.Entity }, { "New Value", new EntityRef("core:dowMonday").Entity }, { "Replace Existing Values", false } }; RunActivity(nextActivity, args); sch = Entity.Get <ScheduleDailyRepeat>(sch.Id); dowRefs = sch.GetRelationships(dayOfWeekRef); Assert.AreEqual(2, dowRefs.Count( ), "has been added"); Assert.IsTrue(dowRefs.Any(w => w.Entity.Alias == "dowMonday")); args = new Dictionary <string, object> { { "Resource to Update", sch }, { "Field to Update", dayOfWeekRef.Entity }, { "New Value", new EntityRef("core:dowTuesday").Entity }, { "Replace Existing Values", true } }; RunActivity(nextActivity, args); sch = Entity.Get <ScheduleDailyRepeat>(sch.Id); dowRefs = sch.GetRelationships(dayOfWeekRef); Assert.AreEqual(1, dowRefs.Count( ), "has been reset"); Assert.IsTrue(dowRefs.Any(w => w.Entity.Alias == "dowTuesday")); }