Пример #1
0
    private void LogUser(string openId, ClaimsResponse profileFields)
    {
        //recupero l'utente da db, oppure lo creo al volo se non esiste
        MTBUser user = DBHelper.LoadUser(openId);

        //non esiste? allora lo creo e lo metto nella sessione come NewUser, quindi
        //rimando alla pagina User che, solo dopo aver inserito i dati obblicatori, lo metterà
        //finalmente in sessione come User
        if (user == null)
        {
            user = new MTBUser();
            user.OpenId = openId;
            user.Surname = "";

            if (profileFields != null)
            {
                user.Name = profileFields.FullName;
                user.EMail = profileFields.Email;
                user.Nickname = profileFields.Nickname;
                if (profileFields.Gender != null)
                {
                    switch (profileFields.Gender.Value)
                    {
                        case Gender.Male:
                            user.Gender = MTBUser.GenderType.Male;
                            break;
                        case Gender.Female:
                            user.Gender = MTBUser.GenderType.Female;
                            break;
                        default:
                            break;
                    }
                }

                if (profileFields.BirthDate != null)
                    user.BirthDate = profileFields.BirthDate.Value;
            }

            LoginState.NewUser = user;
            Response.Redirect("User.aspx");
        }
        else
        {
            LoginState.User = user;
            FormsAuthentication.RedirectFromLoginPage("", false);
        }
    }
Пример #2
0
 //--------------------------------------------------------------------------------
 public static void SaveUser(MTBUser user)
 {
     using (ISession iSession = NHSessionManager.GetSession())
     {
         //aggiungo l'utente al database, oppure lo aggiorno
         using (ITransaction transaction = iSession.BeginTransaction())
         {
             iSession.SaveOrUpdate(user);
             iSession.Flush();
             transaction.Commit();
         }
         new Thread(() =>
         {
             using (ISession ss = NHSessionManager.GetSession())
             {
                 DBHelper.LoadUsers(ss);
             }
         }).Start();
     }
 }