static public void Delete(System.Int32 autoKey, esSqlAccessType sqlAccessType)
        {
            var obj = new CustomFieldsClient();

            obj.AutoKey = autoKey;
            obj.AcceptChanges();
            obj.MarkAsDeleted();
            obj.Save(sqlAccessType);
        }
        public void ClientSide()
        {
            int keyId = -1;
            CustomFieldsClientCollection coll = new CustomFieldsClientCollection();

            switch (coll.es.Connection.ProviderSignature.DataProviderName)
            {
                case "EntitySpaces.EffiProzProvider":
                    Assert.Ignore("Not implemented");
                    break;

                default:
                    using (esTransactionScope scope = new esTransactionScope())
                    {
                        // Setup
                        CustomFieldsClient entity = new CustomFieldsClient();

                        entity = new CustomFieldsClient();
                        entity.FirstName = "Test";
                        entity.LastName = "One";

                        // Insert
                        entity.Save();
                        keyId = entity.AutoKey.Value;

                        Assert.AreEqual(entity.FirstName, "Test");
                        Assert.AreEqual(entity.LastName, "One");
                        Assert.AreEqual(entity.Age.Value, 20);
                        Assert.AreEqual(entity.DateAdded.Value.Day, DateTime.UtcNow.Day);
                        Assert.AreEqual(entity.DateModified.Value.Day, DateTime.UtcNow.Day);
                        Assert.AreEqual(entity.AddedBy, "AddedBy Client User");
                        Assert.AreEqual(entity.ModifiedBy, "ModifiedBy Client User");
                        Assert.AreEqual(entity.EsVersion.Value, 1);

                        // Update
                        entity = new CustomFieldsClient();
                        entity.LoadByPrimaryKey(keyId);

                        Assert.AreEqual(entity.FirstName, "Test");
                        Assert.AreEqual(entity.LastName, "One");
                        Assert.AreEqual(entity.Age.Value, 20);
                        Assert.AreEqual(entity.DateAdded.Value.Day, DateTime.UtcNow.Day);
                        Assert.AreEqual(entity.DateModified.Value.Day, DateTime.UtcNow.Day);
                        Assert.AreEqual(entity.AddedBy, "AddedBy Client User");
                        Assert.AreEqual(entity.ModifiedBy, "ModifiedBy Client User");
                        Assert.AreEqual(entity.EsVersion.Value, 1);

                        DateTime modified = entity.DateModified.Value;
                        entity.LastName = "Two";
                        System.Threading.Thread.Sleep(4);
                        entity.Save();

                        Assert.AreEqual(entity.FirstName, "Test");
                        Assert.AreEqual(entity.LastName, "Two");
                        Assert.AreEqual(entity.Age.Value, 20);
                        Assert.AreEqual(entity.DateAdded.Value.Day, DateTime.UtcNow.Day);
                        Assert.AreEqual(entity.DateModified.Value.Day, DateTime.UtcNow.Day);
                        Assert.Greater(entity.DateModified.Value, modified);
                        Assert.AreEqual(entity.AddedBy, "AddedBy Client User");
                        Assert.AreEqual(entity.ModifiedBy, "ModifiedBy Client User");
                        Assert.AreEqual(entity.EsVersion.Value, 2);

                        // No Update
                        entity = new CustomFieldsClient();
                        entity.LoadByPrimaryKey(keyId);
                        DateTime added = entity.DateAdded.Value;
                        modified = entity.DateModified.Value;

                        entity.Save();

                        Assert.AreEqual(entity.FirstName, "Test");
                        Assert.AreEqual(entity.LastName, "Two");
                        Assert.AreEqual(entity.Age.Value, 20);
                        Assert.AreEqual(entity.DateAdded.Value, added);
                        Assert.AreEqual(entity.DateModified.Value, modified);
                        Assert.AreEqual(entity.AddedBy, "AddedBy Client User");
                        Assert.AreEqual(entity.ModifiedBy, "ModifiedBy Client User");
                        Assert.AreEqual(entity.EsVersion.Value, 2);

                        // Clean up
                        entity = new CustomFieldsClient();
                        entity.LoadByPrimaryKey(keyId);

                        Assert.AreEqual(entity.FirstName, "Test");
                        Assert.AreEqual(entity.LastName, "Two");
                        Assert.AreEqual(entity.Age.Value, 20);
                        Assert.AreEqual(entity.DateAdded.Value, added);
                        Assert.AreEqual(entity.DateModified.Value, modified);
                        Assert.AreEqual(entity.AddedBy, "AddedBy Client User");
                        Assert.AreEqual(entity.ModifiedBy, "ModifiedBy Client User");
                        Assert.AreEqual(entity.EsVersion.Value, 2);

                        entity.MarkAsDeleted();
                        entity.Save();

                        entity = new CustomFieldsClient();
                        if (entity.LoadByPrimaryKey(keyId))
                        {
                            Assert.Fail("Not deleted");
                        }
                    }
                    break;
            }
        }