public virtual IUser SaveUser(IUser user) { UserEntity userEntity = (UserEntity)user; // encrypt password userEntity.EncryptPassword(); if (userEntity.Revision == 0) { CheckAuthorization(Permissions.Create, Resources.User, null); Add(userEntity); CreateDefaultAuthorizations(userEntity); } else { CheckAuthorization(Permissions.Update, Resources.User, user.Id); Merge(userEntity); } return(userEntity); }