示例#1
0
        public void Submit_POCO_Insert5Simple()
        {
            TestProvider_Scenarios dc = new TestProvider_Scenarios(TestURIs.TestProvider_Scenarios);

            for (int i = 0; i < 5; i++)
            {
                dc.POCONoValidations.Add(new POCONoValidation()
                {
                    ID = i,
                    A  = "A" + i,
                    B  = "B" + i,
                    C  = "C" + i,
                    D  = "D" + i,
                    E  = "E" + i
                });
            }
            SubmitOperation so = dc.SubmitChanges();

            EnqueueConditional(delegate
            {
                return(so.IsComplete);
            });
            EnqueueCallback(delegate
            {
                TestHelperMethods.AssertOperationSuccess(so);
            });
            EnqueueTestComplete();
        }
        public void UpdateThrows_ChangeSetStillReturned()
        {
            TestProvider_Scenarios provider = new TestProvider_Scenarios(TestURIs.TestProvider_Scenarios);

            SubmitOperation so = null;
            LoadOperation   lo = provider.Load(provider.GetAsQuery(), false);

            this.EnqueueCompletion(() => lo);
            EnqueueCallback(delegate
            {
                Assert.IsNull(lo.Error);
                Assert.IsTrue(lo.Entities.Count() > 0);
                A entity = provider.As.First();
                entity.BID1++;
                so = provider.SubmitChanges(TestHelperMethods.DefaultOperationAction, null);
            });
            this.EnqueueCompletion(() => so);
            EnqueueCallback(delegate
            {
                Assert.IsNotNull(so.Error);
                Assert.AreEqual(Resource.DomainContext_SubmitOperationFailed_Validation, so.Error.Message);
                Assert.IsNotNull(so.ChangeSet);
                Assert.AreEqual(1, so.ChangeSet.ModifiedEntities.Count);
            });
            EnqueueTestComplete();
        }
        public void InsertThrows_AssociationCollectionPropertyIsNull()
        {
            TestProvider_Scenarios provider = new TestProvider_Scenarios(TestURIs.TestProvider_Scenarios);
            SubmitOperation        so       = null;

            Cart c = new Cart();

            c.CartId = 1;
            CartItem ci1 = new CartItem()
            {
                CartItemId = 1,
                CartId     = c.CartId,
                Cart       = c,
                Data       = "Cart item #1 data"
            };
            CartItem ci2 = new CartItem()
            {
                CartItemId = 2,
                CartId     = c.CartId,
                Cart       = c,
                Data       = "Cart item #2 data"
            };

            provider.Carts.Add(c);
            provider.CartItems.Add(ci1);
            provider.CartItems.Add(ci2);

            so = provider.SubmitChanges(TestHelperMethods.DefaultOperationAction, null);
            this.EnqueueCompletion(() => so);
            EnqueueCallback(delegate
            {
                Assert.IsNotNull(so.Error);
                Assert.AreEqual(string.Format(Resource.DomainContext_SubmitOperationFailed, "One or more associated objects were passed for collection property 'Items' on type 'Cart', but the target collection is null."), so.Error.Message);
                Assert.IsNotNull(so.ChangeSet);
                Assert.AreEqual(3, so.ChangeSet.AddedEntities.Count);
            });
            EnqueueTestComplete();
        }