示例#1
0
        public Role Save(Role role)
        {
            oxite_Role roleToSave = null;

            if (role.ID != Guid.Empty)
            {
                roleToSave = context.oxite_Roles.FirstOrDefault(r => r.RoleID == role.ID);
            }

            if (roleToSave == null)
            {
                roleToSave = new oxite_Role();

                roleToSave.RoleID = role.ID != Guid.Empty ? role.ID : Guid.NewGuid();

                context.oxite_Roles.InsertOnSubmit(roleToSave);
            }

            roleToSave.GroupRoleID = role.Group != null && role.Group.ID != Guid.Empty ? role.Group.ID : roleToSave.RoleID;
            roleToSave.RoleName    = role.Name;
            roleToSave.RoleType    = (byte)role.Type;

            context.SubmitChanges();

            return(GetRole(roleToSave.RoleName));
        }
        public UserAuthenticated Save(UserAuthenticated user, Guid siteID)
        {
            oxite_User userToSave = null;

            if (user.ID != Guid.Empty)
            {
                userToSave = context.oxite_Users.FirstOrDefault(u => u.UserID == user.ID);
            }

            if (userToSave == null)
            {
                userToSave = new oxite_User();

                userToSave.UserID = user.ID != Guid.Empty ? user.ID : Guid.NewGuid();

                context.oxite_Users.InsertOnSubmit(userToSave);
            }

            //TODO: (erikpo) Move these fields into a profile table (except maybe username?)
            if (user.LanguageDefault != null && user.LanguageDefault.ID != Guid.Empty)
            {
                userToSave.DefaultLanguageID = user.LanguageDefault.ID;
            }
            else
            {
                userToSave.DefaultLanguageID = context.oxite_Languages.Where(l => l.LanguageName == "en").First().LanguageID;
            }
            userToSave.Username    = user.Name;
            userToSave.DisplayName = user.DisplayName;
            userToSave.Email       = user.Email;
            userToSave.HashedEmail = user.EmailHash;
            userToSave.Status      = (byte)user.Status;
            //TODO: (erikpo) Add url fields

            context.SubmitChanges();

            return(GetUser(siteID, userToSave.UserID));
        }