public CustomerUserEntry CreateFromUserLogin(System.Int32 __Id, Services.Packages.Security.ModelUser _UserLogin, string SessionToken)
        {
            ModelSession session = CustomerUserEntrySecureService.CheckSessionImp(SessionToken);

            CustomerUserEntry _CustomerUserEntry = new CustomerUserEntry(__Id);

            if (!_CustomerUserEntry.Exists && !Services.Packages.Security.Security.ModelUserSecureService.CheckAccessImp(_UserLogin, SessionToken, "Create CustomerUserEntries"))
                throw new UnauthorizedAccessException("Access Denied");
            else if (_CustomerUserEntry.Exists && !CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");

            // CustomerUserEntry _CustomerUserEntry = CustomerUserEntry.CreateCustomerUserEntry(__Id);
            _CustomerUserEntry.Owner = session.User;
            _CustomerUserEntry.UserLogin = _UserLogin;
            _CustomerUserEntry.Update();
            return _CustomerUserEntry;
        }
            public void SetACLs(CustomerUserEntry _CustomerUserEntry, Services.Packages.Security.CustomerUserEntryAccessControlListCollection _ACLs, string SessionToken)
            {
                _CustomerUserEntry.Reload();

                //*
                if (!Services.Packages.Security.CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                /*
                _ACLs.Reload();
                if (_ACLs.Exists && !Services.Packages.Security.Security.CustomerUserEntryAccessControlListSecureService.CheckAccessImp(_ACLs, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (!_ACLs.Exists && !Services.Packages.Security.CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Create ACLs"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                _CustomerUserEntry.ACLs = _ACLs;
                _CustomerUserEntry.Update();
            }
            public void SetUserLogin(CustomerUserEntry _CustomerUserEntry, Services.Packages.Security.ModelUser _UserLogin, string SessionToken)
            {
                _CustomerUserEntry.Reload();

                //*
                if (!Services.Packages.Security.CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                //*
                _UserLogin.Reload();
                if (_UserLogin.Exists && !Services.Packages.Security.Security.ModelUserSecureService.CheckAccessImp(_UserLogin, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (!_UserLogin.Exists && !Services.Packages.Security.CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Create CustomerUserEntries"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                _CustomerUserEntry.UserLogin = _UserLogin;
                _CustomerUserEntry.Update();
            }
            public void SetOwner(CustomerUserEntry _CustomerUserEntry, Services.Packages.Security.ModelUser _Owner, string SessionToken)
            {
                _CustomerUserEntry.Reload();

                //*
                if (!Services.Packages.Security.CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Traverse"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                //*
                _Owner.Reload();
                if (_Owner.Exists && !Services.Packages.Security.Security.ModelUserSecureService.CheckAccessImp(_Owner, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");
                else if (!_Owner.Exists && !Services.Packages.Security.CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Create CustomerUserEntryOwning"))
                throw new UnauthorizedAccessException("Access Denied");
                //*/

                _CustomerUserEntry.Owner = _Owner;
                _CustomerUserEntry.Update();
            }
            public void UpdateObject(CustomerUserEntry _CustomerUserEntry, string SessionToken)
            {
                if (!CustomerUserEntrySecureService.CheckAccessImp(_CustomerUserEntry, SessionToken, "Update"))
                throw new UnauthorizedAccessException("Access Denied");

                _CustomerUserEntry.Update();
            }