private void store(CreateOnlyParentChangeableChild_Child newChild) { newChild.Store(); expectedChildren.Add(newChild.Key, newChild.ToString()); expectedParents[newChild.Parent.Key] = newChild.Parent.ToString(); var parentNullable = newChild.ParentNullable; if (parentNullable != null) { expectedParentsNullable[parentNullable.Key] = parentNullable.ToString(); } }
private CreateOnlyParentChangeableChild_Child addChild(CreateOnlyParentChangeableChild_Parent parent, CreateOnlyParentChangeableChild_ParentNullable?parentNullable, string readonlyText, string updatableText, bool isStoring) { //var newChild = new CreateOnlyParentChangeableChild_Child(readonlyText, updatableText, parent, parentNullable, isStoring); //if (isStoring) { // expectedChildren.Add(newChild.Key, newChild.ToString()); // expectedParents[parent.Key] = parent.ToString(); // if (parentNullable!=null) { // expectedParentsNullable[parentNullable.Key] = parentNullable.ToString(); // } // assertData(); //} //return newChild; if (isStoring) { DC.Data.StartTransaction(); new CreateOnlyParentChangeableChild_Child(readonlyText, updatableText, parent, parentNullable, isStoring: true); DC.Data.RollbackTransaction(); assertData(); parent = DC.Data.CreateOnlyParentChangeableChild_Parents[parent.Key]; if (parentNullable != null) { parentNullable = DC.Data.CreateOnlyParentChangeableChild_ParentNullables[parentNullable.Key]; } DC.Data.StartTransaction(); var newChild = new CreateOnlyParentChangeableChild_Child(readonlyText, updatableText, parent, parentNullable, isStoring: true); DC.Data.CommitTransaction(); expectedChildren.Add(newChild.Key, newChild.ToString()); expectedParents[parent.Key] = parent.ToString(); if (parentNullable != null) { expectedParentsNullable[parentNullable.Key] = parentNullable.ToString(); } assertData(); return(newChild); } else { return(new CreateOnlyParentChangeableChild_Child(readonlyText, updatableText, parent, parentNullable, isStoring: false)); } }