Beispiel #1
0
 public int IncrementFailedLoginAttemptCount(AccountId accountId)
 {
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope(TransactionScopeOption.Required,
                                                       new TransactionOptions {
             IsolationLevel = IsolationLevel.RepeatableRead
         })) {
             FailedLoginAttempt dbFailedLoginAttempt = FindFailedLoginAttempt(db, accountId.ToGuid());
             if (dbFailedLoginAttempt == null)
             {
                 db.FailedLoginAttempts.Add(new FailedLoginAttempt {
                     AccountId = accountId.ToGuid(), FailedLoginAttemptCount = 0
                 });
                 db.SaveChanges();
                 transaction.Complete();
                 return(1);
             }
             else
             {
                 ++dbFailedLoginAttempt.FailedLoginAttemptCount;
                 db.SaveChanges();
                 transaction.Complete();
                 return(dbFailedLoginAttempt.FailedLoginAttemptCount);
             }
         }
     }
 }
Beispiel #2
0
 public void SaveUser(AccountManagement.User user)
 {
     Contract.Requires(user != null && !user.Id.IsNew);
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope()) {
             User dbUser = db.Users.Find(user.Id.ToGuid());
             dbUser.FirstName  = user.FullName.FirstName.ToString();
             dbUser.MiddleName = user.FullName.MiddleName.ToString();
             dbUser.LastName   = user.FullName.FamilyName.ToString();
             db.SaveChanges();
             transaction.Complete();
         }
     }
 }
Beispiel #3
0
 public int IncrementFailedLoginAttemptCount(AccountId accountId)
 {
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope(TransactionScopeOption.Required,
                                                       new TransactionOptions {
                                                           IsolationLevel = IsolationLevel.RepeatableRead
                                                       })) {
             FailedLoginAttempt dbFailedLoginAttempt = FindFailedLoginAttempt(db, accountId.ToGuid());
             if (dbFailedLoginAttempt == null) {
                 db.FailedLoginAttempts.Add(new FailedLoginAttempt {AccountId = accountId.ToGuid(), FailedLoginAttemptCount = 0});
                 db.SaveChanges();
                 transaction.Complete();
                 return 1;
             }
             else {
                 ++dbFailedLoginAttempt.FailedLoginAttemptCount;
                 db.SaveChanges();
                 transaction.Complete();
                 return dbFailedLoginAttempt.FailedLoginAttemptCount;
             }
         }
     }
 }
Beispiel #4
0
 public void SaveUser(AccountManagement.User user)
 {
     Contract.Requires(user != null && !user.Id.IsNew);
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope()) {
             User dbUser = db.Users.Find(user.Id.ToGuid());
             dbUser.FirstName = user.FullName.FirstName.ToString();
             dbUser.MiddleName = user.FullName.MiddleName.ToString();
             dbUser.LastName = user.FullName.FamilyName.ToString();
             db.SaveChanges();
             transaction.Complete();
         }
     }
 }
Beispiel #5
0
 public void CreateUser(AccountManagement.User user)
 {
     Contract.Requires(user != null && user.Id.IsNew);
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope()) {
             var dbUser = new User();
             dbUser.FirstName  = user.FullName.FirstName.ToString();
             dbUser.MiddleName = user.FullName.MiddleName.ToString();
             dbUser.LastName   = user.FullName.FamilyName.ToString();
             db.Users.Add(dbUser);
             db.SaveChanges();
             transaction.Complete();
             user.Id = new UserId(dbUser.UserId);
         }
     }
 }
Beispiel #6
0
 public void CreateUser(AccountManagement.User user)
 {
     Contract.Requires(user != null && user.Id.IsNew);
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope()) {
             var dbUser = new User();
             dbUser.FirstName = user.FullName.FirstName.ToString();
             dbUser.MiddleName = user.FullName.MiddleName.ToString();
             dbUser.LastName = user.FullName.FamilyName.ToString();
             db.Users.Add(dbUser);
             db.SaveChanges();
             transaction.Complete();
             user.Id = new UserId(dbUser.UserId);
         }
     }
 }
Beispiel #7
0
 public void CreateAccount(AccountManagement.Account account, SaltedHash passwordHash, UserId userId)
 {
     Contract.Assert(account.AccountId.IsNew);
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope()) {
             var dbAccount = new Account {
                 Username = account.Username.ToString(),
                 UserId = userId.ToGuid(),
                 AccountPassword = new AccountPassword {
                     PasswordHash = passwordHash.Hash,
                     Salt = passwordHash.Salt
                 }
             };
             db.Accounts.Add(dbAccount);
             db.SaveChanges();
             transaction.Complete();
             account.AccountId = new AccountId(dbAccount.AccountId);
         }
     }
 }
Beispiel #8
0
 public void CreateAccount(AccountManagement.Account account, SaltedHash passwordHash, UserId userId)
 {
     Contract.Assert(account.AccountId.IsNew);
     using (var db = new THCard()) {
         using (var transaction = new TransactionScope()) {
             var dbAccount = new Account {
                 Username        = account.Username.ToString(),
                 UserId          = userId.ToGuid(),
                 AccountPassword = new AccountPassword {
                     PasswordHash = passwordHash.Hash,
                     Salt         = passwordHash.Salt
                 }
             };
             db.Accounts.Add(dbAccount);
             db.SaveChanges();
             transaction.Complete();
             account.AccountId = new AccountId(dbAccount.AccountId);
         }
     }
 }