public void CancelSalesOrderTest()
        {
            Mock <IOrganizationService> orgSvc = null;
            Mock <MoqHttpMessagehander> fakHttpMethodHander = null;
            CdsServiceClient            cli = null;

            testSupport.SetupMockAndSupport(out orgSvc, out fakHttpMethodHander, out cli);


            orgSvc.Setup(f => f.Execute(It.Is <CancelSalesOrderRequest>(p => p.OrderClose is Entity && ((Entity)p.OrderClose).GetAttributeValue <string>("name").Equals("MyName", StringComparison.OrdinalIgnoreCase)))).Returns(new CancelSalesOrderResponse());

            Dictionary <string, CdsDataTypeWrapper> inboundData = new Dictionary <string, CdsDataTypeWrapper>();

            inboundData.Add("name", new CdsDataTypeWrapper("MyName", CdsFieldType.String));

            Guid rslt = cli.CancelSalesOrder(Guid.Empty, inboundData, orderStatusCode: 5);

            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 2);
            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 5);
            Assert.IsType <Guid>(rslt);
            Assert.NotEqual <Guid>(Guid.Empty, rslt);

            rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 4);
            Assert.IsType <Guid>(rslt);
            Assert.NotEqual <Guid>(Guid.Empty, rslt);

            // Test with projected Activity ID
            inboundData.Add("activityid", new CdsDataTypeWrapper(testSupport._DefaultId, CdsFieldType.Key));
            rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 4);
            Assert.IsType <Guid>(rslt);
            Assert.NotEqual <Guid>(Guid.Empty, rslt);
            Assert.Equal <Guid>(testSupport._DefaultId, rslt);

            // try with batch
            // Setup a batch
            string BatchRequestName = "TestBatch";
            Guid   batchid          = cli.CreateBatchOperationRequest(BatchRequestName);

            rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 4, batchId: batchid);
            Assert.IsType <Guid>(rslt);
            Assert.Equal <Guid>(Guid.Empty, rslt);

            // Release batch request
            cli.ReleaseBatchInfoById(batchid);
        }