private OAuthUser CreateOAuthUser(OAuthUser user, DbTransactionManager tran)
 {
     using (var db = new DataAccess(tran))
     {
         db.CreateStoredProcCommand("dbo.CreateOAuthUser");
         db.AddInputParameter("@UserId", DbType.String, user.UserId);
         db.AddInputParameter("@Email", DbType.String, user.Email);
         db.AddInputParameter("@ProviderId", DbType.String, user.ProviderId);
         db.AddInputParameter("@ProviderName", DbType.String, user.ProviderName);
         db.AddInputParameter("@ProviderData", DbType.Xml, user.ProviderData.ToDbXml());
         db.AddOutputParameter("@OAuthUserId", DbType.Int32);
         try
         {
             db.ExecuteNonQuery();
             user.OAuthUserId = db.GetParameterValue<int>("@OAuthUserId");
         }
         catch (Exception ex)
         {
             Logger.Error("Error while creating OAuth user", ex);
             throw;
         }
     }
     return user;
 }
예제 #2
0
 public User()
 {
     Profile = new UserProfile();
     OAuth = new OAuthUser();
     Roles = new List<Role>();
 }        
 public OAuthUser CreateOAuthUser(OAuthUser user)
 {
     using (var tran = new DbTransactionManager())
     {
         try
         {
             tran.BeginTransaction();
             user = CreateOAuthUser(user, tran);
             tran.Commit();
         }
         catch (Exception ex)
         {
             tran.Rollback();
             Logger.Error("Error while creating OAuth user.", ex);
             throw;
         }
     }
     return user;
 }