Example #1
0
        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();
            }
        }
Example #2
0
        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));
            }
        }