public async Task DomainService_CallSubmitDirectly() { DomainServiceDescription description = DomainServiceDescription.GetDescription(typeof(DomainMethod_ValidProvider_MultipleMethods)); List <ChangeSetEntry> changeSetEntries = new List <ChangeSetEntry>(); ChangeSetEntry processCityOperation = new ChangeSetEntry(); processCityOperation.Entity = new City { Name = "Redmond", CountyName = "King", StateName = "WA" }; processCityOperation.DomainOperationEntry = description.GetCustomMethod(typeof(City), "ProcessCity"); processCityOperation.Operation = DomainOperation.Update; processCityOperation.EntityActions = new EntityActionCollection { { "ProcessCity", new object[] { new byte[] { byte.MaxValue, byte.MinValue, 123 } } } }; changeSetEntries.Add(processCityOperation); ChangeSet changeset = new ChangeSet(changeSetEntries); DomainMethod_ValidProvider_MultipleMethods myTestProvider = ServerTestHelper.CreateInitializedDomainService <DomainMethod_ValidProvider_MultipleMethods>(DomainOperationType.Submit); await myTestProvider.SubmitAsync(changeset, CancellationToken.None); // check that the domain services have invoked the domain method correctly by checking the internal variables set Assert.AreEqual <string>("ProcessCity_", myTestProvider.Invoked); Assert.AreEqual <int>(3, myTestProvider.InputData.Length); Assert.AreEqual <byte>(123, myTestProvider.InputData[2]); }
public void DomainService_CallSubmitWithMultipleInvocations() { DomainServiceDescription description = DomainServiceDescription.GetDescription(typeof(DomainMethod_ValidProvider_MultipleMethods)); List <ChangeSetEntry> changeSetEntries = new List <ChangeSetEntry>(); ChangeSetEntry processCountyOperation = new ChangeSetEntry(); processCountyOperation.Id = 1; processCountyOperation.Entity = new County { Name = "King", StateName = "WA" }; processCountyOperation.DomainOperationEntry = description.GetCustomMethod(typeof(County), "ProcessCounty"); processCountyOperation.Operation = DomainOperation.Update; processCountyOperation.EntityActions = new EntityActionCollection { { "ProcessCounty", null } }; changeSetEntries.Add(processCountyOperation); ChangeSetEntry processCityOperation = new ChangeSetEntry(); processCityOperation.Id = 2; processCityOperation.Entity = new City { Name = "Redmond", CountyName = "King", StateName = "WA" }; processCityOperation.DomainOperationEntry = description.GetCustomMethod(typeof(City), "ProcessCity"); processCityOperation.Operation = DomainOperation.Update; processCityOperation.EntityActions = new EntityActionCollection { { "ProcessCity", new object[] { new byte[] { 123, 1 } } } }; changeSetEntries.Add(processCityOperation); ChangeSet changeset = new ChangeSet(changeSetEntries); DomainMethod_ValidProvider_MultipleMethods myTestProvider = ServerTestHelper.CreateInitializedDomainService <DomainMethod_ValidProvider_MultipleMethods>(DomainOperationType.Submit); myTestProvider.Submit(changeset); // check that the domain services have invoked the domain method correctly by checking the internal variables set Assert.AreEqual <string>("ProcessCounty_ProcessCity_", myTestProvider.Invoked); Assert.AreEqual <int>(2, myTestProvider.InputData.Length); }