public Account findAccount(string accNumber) { var db = new BankDBContext(); try { var foundAccount = db.Accounts.FirstOrDefault(pk => pk.accountNumber.Equals(accNumber)); System.Diagnostics.Debug.WriteLine("TEST DAL FINDACCOUNT: " + foundAccount.accountNumber); if (foundAccount == null) { return(null); } else { var account = new Account() { accountNumber = foundAccount.accountNumber, balance = foundAccount.balance, nID = foundAccount.NID }; return(account); } } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(null); } }
public Customer findCustomer(string nID) { var db = new BankDBContext(); try { var foundCustomer = db.Customers.FirstOrDefault(pk => pk.NID.Equals(nID)); if (foundCustomer == null) { return(null); } else { var customer = new Customer() { nID = foundCustomer.NID, firstName = foundCustomer.firstName, lastName = foundCustomer.lastName }; return(customer); } } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(null); } }
public bool adminRegisterCustomer(Customer inCustomer) { try { var newCustomer = new DbCustomer() { firstName = inCustomer.firstName, lastName = inCustomer.lastName, NID = inCustomer.nID }; var db = new BankDBContext(); string salt = BankCustomerDAL.generateSalt(); string passwordAndSalt = inCustomer.password + salt; byte[] hashedpassword = BankCustomerDAL.generateHash(passwordAndSalt); newCustomer.password = hashedpassword; newCustomer.salt = salt; db.Customers.Add(newCustomer); db.SaveChanges(); return(true); } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(false); } }
public bool adminEditCustomer(Customer customer) { using (var db = new BankDBContext()) { try { DbCustomer dbcustomer = db.Customers.FirstOrDefault(c => c.NID == customer.nID); if (dbcustomer != null) { dbcustomer.firstName = customer.firstName; dbcustomer.lastName = customer.lastName; string salt = BankCustomerDAL.generateSalt(); string passwordAndSalt = customer.password + salt; byte[] hashedpassword = BankCustomerDAL.generateHash(passwordAndSalt); dbcustomer.password = hashedpassword; dbcustomer.salt = salt; db.SaveChanges(); return(true); } } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(false); } return(false); } }
public List <Account> newAccount(string nID) { string newAccountNumber = generateBankAccountNumber(); var db = new BankDBContext(); /*if (db.isAccountAlreadyPresent(newAccountNumber)) * { * * } */ var accountNew = new DbAccount() { accountNumber = "0539" + newAccountNumber, balance = 0, NID = nID }; try { db.Accounts.Add(accountNew); db.SaveChanges(); return(db.Accounts. Where(a => a.NID.Equals(nID)).Select(a => new Account() { accountNumber = a.accountNumber, balance = a.balance, nID = a.NID }).ToList()); } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(null); } }
public List <Customer> deleteCustomer(string nID) { var db = new BankDBContext(); try { DbCustomer deleteCustomer = db.Customers.FirstOrDefault(pk => pk.NID.Equals(nID)); if (deleteCustomer == null) { return(null); } IEnumerable <DbAccount> accounts = db.Accounts.Where(a => a.NID.Equals(nID)).ToList(); IEnumerable <DbRegisteredPayment> registeredPayments; IEnumerable <DbIssuedPayment> issuedPayments; foreach (DbAccount account in accounts) { registeredPayments = db.RegisteredPayments.Where(rp => rp.customerAccountNumber.Equals(account.accountNumber)).ToList(); issuedPayments = db.IssuedPayments.Where(ip => ip.customerAccountNumber.Equals(account.accountNumber)).ToList(); foreach (DbRegisteredPayment rp in registeredPayments) { db.RegisteredPayments.Remove(rp); db.SaveChanges(); } foreach (DbIssuedPayment ip in issuedPayments) { db.IssuedPayments.Remove(ip); db.SaveChanges(); } db.Accounts.Remove(account); db.SaveChanges(); } db.Customers.Remove(deleteCustomer); db.SaveChanges(); return(db.Customers.Select(c => new Customer() { nID = c.NID, firstName = c.firstName, lastName = c.lastName }) .ToList()); } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(null); } }
public bool adminEditAccount(Account account, string oldAccountNumber) { using (var db = new BankDBContext()) { try { DbAccount dbaccount = db.Accounts.FirstOrDefault(a => a.accountNumber.Equals(oldAccountNumber)); System.Diagnostics.Debug.WriteLine("TEST DAL ACCOUNT: " + dbaccount.accountNumber); //customerAccountNumber from DbIssuedPayments IEnumerable <DbIssuedPayment> issuedPayments = db.IssuedPayments .Where(ip => ip.customerAccountNumber.Equals(oldAccountNumber)).ToList(); foreach (DbIssuedPayment dbip in issuedPayments) { dbip.customerAccountNumber = account.accountNumber; db.SaveChanges(); } //customerAccountNumber from DbRegisteredPayments IEnumerable <DbRegisteredPayment> registeredPayments = db.RegisteredPayments .Where(rp => rp.customerAccountNumber.Equals(oldAccountNumber)).ToList(); foreach (DbRegisteredPayment dbrp in registeredPayments) { dbrp.customerAccountNumber = account.accountNumber; db.SaveChanges(); } if (dbaccount != null) { dbaccount.accountNumber = account.accountNumber; dbaccount.balance = account.balance; db.SaveChanges(); return(true); } } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(false); } return(false); } }
public List <Customer> getAllCustomers() { using (var db = new BankDBContext()) { try { List <Customer> alleKunder = db.Customers.Select(k => new Customer() { nID = k.NID, firstName = k.firstName, lastName = k.lastName }).ToList(); return(alleKunder); } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(null); } } }
public List <Account> deleteAccount(string accountNumber) { try { var db = new BankDBContext(); DbAccount account = db.Accounts.FirstOrDefault(a => a.accountNumber.Equals(accountNumber)); string nid = account.NID; IEnumerable <DbRegisteredPayment> registeredPayments = db.RegisteredPayments. Where(rp => rp.customerAccountNumber.Equals(account.accountNumber)).ToList(); foreach (DbRegisteredPayment rp in registeredPayments) { db.RegisteredPayments.Remove(rp); } IEnumerable <DbIssuedPayment> issuedPayments = db.IssuedPayments. Where(ip => ip.customerAccountNumber.Equals(account.accountNumber)).ToList(); foreach (DbIssuedPayment ip in issuedPayments) { db.IssuedPayments.Remove(ip); } account.registeredPayments = null; account.issuedPayments = null; db.Accounts.Remove(account); db.SaveChanges(); List <Account> remainingAccounts = db.Accounts.Where(a => a.NID.Equals(nid)).Select(a => new Account() { accountNumber = a.accountNumber, balance = a.balance }) .ToList(); return(remainingAccounts); } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(null); } }
public bool isAdminLoginCorrect(Admin admin) { using (var db = new BankDBContext()) { try { DbAdmin adminFound = db.Admins.FirstOrDefault(c => c.ID.Equals(admin.ID)); if (adminFound != null) { byte[] checkPassword = BankCustomerDAL.generateHash(admin.adminPassword + adminFound.adminsalt); bool validAdmin = adminFound.adminpassword.SequenceEqual(checkPassword); return(validAdmin); } return(false); } catch (Exception e) { BankCustomerDAL.errorReport(e.ToString()); return(false); } } }