public override void DeletePersonType(string personTypeId)
        {
            if (PersonTypeHasRoles(personTypeId))
            {
                throw new ProviderException("Unable to delete. PersonType has Roles assigned to it");
            }

            using (var transaction = new TransactionScope(_configuration))
            {
                var        ptDS       = new PersonTypeDataStore(transaction);
                PersonType personType = ptDS.FindByKey(personTypeId);
                personType.Deleted = true;
                personType.Name   += DateTimeHelper.GetCurrentTimestamp();
                ptDS.Update(personType);
                transaction.Commit();
            }
        }
        public override void UpdatePersonType(PersonType personType)
        {
            //Check required for MSDN
            if (string.IsNullOrEmpty(personType.Name))
            {
                throw new ProviderException("PersonType name cannot be empty or null.");
            }
            if (personType.Name.IndexOf(',') > 0)
            {
                throw new ArgumentException("PersonType names cannot contain commas.");
            }

            using (var transaction = new TransactionScope(_configuration))
            {
                var ptDS = new PersonTypeDataStore(transaction);
                ptDS.Update(personType);
                transaction.Commit();
            }
        }