public void GetById() { //Arrange var deposit = new AccountDeposit() { Id = 1 }; var iRepositoryAccountDeposit = new MockIRepository <AccountDeposit>() .MockGetById(deposit); var accountDepositRepository = new MockAccountDepositRepository(); var bankDbContext = new BankDbContext(); var iRepositoryAccount = new MockIRepository <Account>(); var accountDepositService = new AccountDepositService( accountDepositRepository.Object, iRepositoryAccountDeposit.Object, null, null, iRepositoryAccount.Object, bankDbContext, null); //Act var accountDeposit = accountDepositService.GetById(1); //Assert Assert.IsNotNull(accountDeposit); }
public IActionResult PostForDeposit([FromBody] AccountDeposit deposit) { if (!ModelState.IsValid) { ResponseModel.Notification = ApUtility.CreateNotification("Invalid information", Enums.NotificationType.Error); return(StatusCode(500, ResponseModel)); } try { deposit.Id = Guid.NewGuid(); deposit.DepositDate = DateTime.UtcNow; deposit.CustomerId = Guid.Parse(AppClaim.CustomerId); deposit.AccountId = Guid.Parse(AppClaim.AccountId); AccountTransaction accountTransaction = new AccountTransaction() { Id = new Guid(), CustomerId = Guid.Parse(AppClaim.CustomerId), AccountId = Guid.Parse(AppClaim.AccountId), TransactionDate = DateTime.UtcNow, TransferType = (int)Enums.TransactionType.Deposit, DrAmount = deposit.Amount, CrAmount = 0 }; using (TransactionScope ts = new TransactionScope()) { try { depositService.Create(deposit); depositService.SaveChanges(); transactionService.Create(accountTransaction); transactionService.SaveChanges(); ts.Complete(); } catch (Exception ex) { ts.Dispose(); ResponseModel.Notification = ApUtility.CreateNotification(ex.Message, Enums.NotificationType.Error); return(StatusCode(500, ResponseModel)); } } ResponseModel.Notification = ApUtility.CreateNotification("Account Desposit is succeed", Enums.NotificationType.Success); ResponseModel.Data = transactionService.GetAccountBalance(Guid.Parse(AppClaim.CustomerId), Guid.Parse(AppClaim.AccountId)); return(Created(string.Empty, ResponseModel)); } catch (Exception ex) { ResponseModel.Notification = ApUtility.CreateNotification(ex.Message, Enums.NotificationType.Error); return(StatusCode(500, ResponseModel)); } }
public void CalculeBalance_Should_Throw_BusinessException() { #region Arrenge ICalculator deposit = new AccountDeposit(_account); #endregion #region Assert Assert.Throws <BusinessException>(() => deposit.CalculeBalance(0)); #endregion }
internal void InvokeAccountDeposit(BankAccount bankAccount, ref decimal newBalance, ref decimal previousBalance) { if (AccountDeposit != null || scriptOnAccountDeposit != null) { var args = new BalanceChangedEventArgs(bankAccount, ref newBalance, ref previousBalance); AccountDeposit?.Invoke(this, args); try { scriptOnAccountDeposit?.Invoke(this, args); } catch (Exception ex) { BankingPlugin.Instance.LogPrint(ex.ToString(), TraceLevel.Error); } } }
public void CalculeBalance_Should_Works() { #region Arrenge _account.Balance = 100M; ICalculator deposit = new AccountDeposit(_account); #endregion #region Assert var act = deposit.CalculeBalance(100); #endregion act.Should().Be(200); }
internal AccountMoneyManager(Account account, BusinessRecordList <Reset.ResetBalance> resetBalances) { _account = account; _accountDeposit = new AccountDeposit(account); _accountBalance = new AccountBalance(account, resetBalances); }
public async Task Seed() { var user = await _userManager.FindByNameAsync("admin"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "78945612", UserInfo = new UserInfo() { Address = "ItAcademy", City = "Tbilisi", FirstName = "Admin", LastName = "Adminashvili", PassportId = "555777888", Sex = "Male", ImageName = "A.png" }, LoginReports = new List <LoginReport> { new LoginReport { LastLogin = DateTime.Now, FirstLogin = DateTime.Now, AvgPerday = 1, PerMonth = 30, CounterLogsIn = 30, } } }, "asdASD123!@#"); } var role = await _roleManager.FindByNameAsync("Admin"); if (role == null) { await _roleManager.CreateAsync(new IdentityRole <int>() { Name = "Admin" }); var createdAdmin = await _userManager.FindByNameAsync("admin"); await _userManager.AddToRoleAsync(createdAdmin, "Admin"); } user = await _userManager.FindByNameAsync("Andrii"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "14881488", UserInfo = new UserInfo() { Address = "Gldanula", City = "Gldanopolis", FirstName = "Andrii", LastName = "Turianskyi", PassportId = "123456789", Sex = "Male", ImageName = "A.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Jimmy"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "197345682", UserInfo = new UserInfo() { Address = "Plato", City = "JimmyWown", FirstName = "Jimmy", LastName = "Page", PassportId = "1000101", Sex = "Male", ImageName = "jimmy.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("John"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "15978453", UserInfo = new UserInfo() { Address = "Foreignstan", City = "Cityburg", FirstName = "John", LastName = "Bergmann", PassportId = "5558888777", Sex = "Male", ImageName = "J.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Irinka"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "11111222", UserInfo = new UserInfo() { Address = "Gagarini", City = "Tbilisi", FirstName = "Irinka", LastName = "Inashvili", PassportId = "1000103", Sex = "Female", ImageName = "I.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Vano"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "5554445", UserInfo = new UserInfo() { Address = "Vazisubani", City = "Tbilisi", FirstName = "Vano", LastName = "Tsiklauri", PassportId = "1000104", Sex = "Male", ImageName = "V.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Nini"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "4448444", UserInfo = new UserInfo() { Address = "Makhata", City = "Tbilisi", FirstName = "Nini", LastName = "Kurtanidze", PassportId = "1000105", Sex = "Female", ImageName = "N.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Aleksandre"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "4777585", UserInfo = new UserInfo() { Address = "Uznadze", City = "Tbilisi", FirstName = "Aleksandre", LastName = "Gabelashvili", PassportId = "1000106", Sex = "Male", ImageName = "A.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Sergii"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "48878789", UserInfo = new UserInfo() { Address = "Politkovskaya", City = "Kyiv", FirstName = "Sergii", LastName = "Kovach", PassportId = "1000107", Sex = "Male", ImageName = "S.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Natali"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "8888877", UserInfo = new UserInfo() { Address = "Sarajishvili", City = "Akhalkalaki", FirstName = "Natali", LastName = "Japaridze", PassportId = "1000108", Sex = "Female", ImageName = "N.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Anna"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "30002001", UserInfo = new UserInfo() { Address = "Guramishvili", City = "Tbilisi", FirstName = "Anna", LastName = "Zakaidze", PassportId = "1000109", Sex = "Female", ImageName = "A.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Giga"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "70707080", UserInfo = new UserInfo() { Address = "Marjanishvili", City = "Tbilisi", FirstName = "Giga", LastName = "Baidoshvili", PassportId = "1000111", Sex = "Male", ImageName = "G.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Shota"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "125554445", UserInfo = new UserInfo() { Address = "Saburtalo", City = "Tbilisi", FirstName = "Shota", LastName = "Gotsadze", PassportId = "1000112", Sex = "Male", ImageName = "S.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Tamari"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "11145454", UserInfo = new UserInfo() { Address = "Nojikhevi", City = "Zugdidi", FirstName = "Tamar", LastName = "Nasrashvili", PassportId = "1000113", Sex = "Female", ImageName = "T.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Nana"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "99996523", UserInfo = new UserInfo() { Address = "Sarajishvili", City = "Tbilisi", FirstName = "Nana", LastName = "Rogava", PassportId = "1000114", Sex = "Female", ImageName = "N.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Nika"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "550040040", UserInfo = new UserInfo() { Address = "Varketili", City = "Tbilisi", FirstName = "Nika", LastName = "Tsivilashvili", PassportId = "1000115", Sex = "Male", ImageName = "N.png" } }, "asdASD123!@#"); } user = await _userManager.FindByNameAsync("Tatia"); if (user == null) { await _userManager.CreateAsync(new User() { UserName = "******", Email = "*****@*****.**", PhoneNumber = "599797998", UserInfo = new UserInfo() { Address = "Konstitucia", City = "Rustavi", FirstName = "Tatia", LastName = "Sebiskveradze", PassportId = "1000116", Sex = "Female", ImageName = "T.png" } }, "asdASD123!@#"); } var existingAccounts = _context.Accounts.Where(x => x.AccountName == "johnAcc" || x.AccountName == "andriiAcc").ToList(); if (existingAccounts != null && existingAccounts.Count != 0) { return; } _context.Database.EnsureCreated(); var transaction = new TransactionsHistory() { Date = DateTime.Now, Currency = "USD", Amount = 100, Description = "Sending someone some money", }; var accountDeposit1 = new AccountDeposit() { Status = Status.IsActive.ToString(), DepositAmount = 100, AccountId = 1, Term = typeof(Term).GetValues().ToArray()[0] }; var accountDeposit2 = new AccountDeposit() { Status = Status.Pending.ToString(), DepositAmount = 100, AccountId = 2, Term = typeof(Term).GetValues().ToArray()[1] }; var accountDeposit3 = new AccountDeposit() { Status = Status.Pending.ToString(), DepositAmount = 5000, AccountId = 3, Term = typeof(Term).GetValues().ToArray()[2] }; _context.Deposits.Add(new Deposit() { Annual = 20, Benefits = 0, Bonus = 0, Description = "Some deposit", InterestPaymentDate = new DateTime(2000, 01, 01), MaxAMount = 5000, MinAmount = 200, Name = "Deposit01", Replenishment = 0, AccountDeposits = new List <AccountDeposit> { accountDeposit1 }, Currency = "USD", InterestRate = 3 }); _context.Deposits.Add(new Deposit() { Annual = 20, Benefits = 0, Bonus = 0, Description = "Some deposit", InterestPaymentDate = new DateTime(2000, 01, 01), MaxAMount = 7000, MinAmount = 1000, Name = "Deposit02", Replenishment = 0, AccountDeposits = new List <AccountDeposit> { accountDeposit2 }, Currency = "USD", InterestRate = 2 }); _context.Deposits.Add(new Deposit() { Annual = 20, Benefits = 0, Bonus = 0, Description = "Some deposit", InterestPaymentDate = new DateTime(2000, 01, 01), MaxAMount = 2000, MinAmount = 300, Name = "Deposit03", Replenishment = 0, AccountDeposits = new List <AccountDeposit> { accountDeposit3 }, Currency = "USD", InterestRate = 1 }); var accountLoan1 = new AccountLoan() { Currency = "USD", Status = Status.IsActive.ToString(), Sum = 2000, Term = typeof(Term).GetValues().ToArray()[1], Employment = "SomePosition" }; var accountLoan2 = new AccountLoan() { Currency = "USD", Status = Status.Pending.ToString(), Sum = 2000, Term = typeof(Term).GetValues().ToArray()[2], Employment = "SomePosition" }; var accountLoan3 = new AccountLoan() { Currency = "USD", Status = Status.Pending.ToString(), Sum = 2000, Term = typeof(Term).GetValues().ToArray()[0], Employment = "SomePosition" }; _context.Accounts.Add( new Account() { UserId = (await _userManager.FindByNameAsync("admin")).Id, AccountNumber = "123BANK123", AccountName = "BankBalance", Balance = 10000000000 } ); _context.Accounts.Add( new Account() { UserId = (await _userManager.FindByNameAsync("Andrii")).Id, AccountNumber = "98745612358", AccountName = "andriiAcc", Balance = 200000, Cards = new List <Card> { new Card() { CardNumber = _encryptionService.Encrypt("5987458521365478"), CCV = 985, CreatedAt = DateTime.Now, ExpireDate = DateTime.Now.AddYears(3), Status = CardStatus.Active.ToString(), CardType = "MasterCard" }, new Card() { CardNumber = _encryptionService.Encrypt("5987458521365479"), CCV = 985, CreatedAt = DateTime.Now, ExpireDate = DateTime.Now.AddYears(3), Status = CardStatus.Active.ToString(), CardType = "MasterCard" }, new Card() { CardNumber = _encryptionService.Encrypt("5987458521365470"), CCV = 985, CreatedAt = DateTime.Now, ExpireDate = DateTime.Now.AddYears(3), Status = CardStatus.Active.ToString(), CardType = "MasterCard" } }, AccountLoans = new List <AccountLoan> { accountLoan1, accountLoan2 }, AccrueAccountLoans = new List <AccountLoan> { accountLoan1, accountLoan3 }, Transactions = new List <TransactionsHistory> { transaction }, AccountDeposits = new List <AccountDeposit> { accountDeposit3 }, } ); _context.Accounts.Add( new Account() { UserId = (await _userManager.FindByNameAsync("Jimmy")).Id, AccountNumber = "123456789", AccountName = "JimmyAcc", Balance = 10000, Cards = new List <Card> { new Card() { CardNumber = _encryptionService.Encrypt("5987458511365478"), CCV = 123, CreatedAt = DateTime.Now, ExpireDate = DateTime.Now.AddYears(3), Status = CardStatus.Pending.ToString(), CardType = CardTypes.MasterCard.ToString() }, new Card() { CardNumber = _encryptionService.Encrypt("5987458511365478"), CCV = 339, CreatedAt = DateTime.Now, ExpireDate = DateTime.Now.AddYears(3), Status = CardStatus.Pending.ToString(), CardType = CardTypes.Visa.ToString() }, }, AccountLoans = new List <AccountLoan> { accountLoan1, accountLoan2 }, AccrueAccountLoans = new List <AccountLoan> { accountLoan1, accountLoan3 }, Transactions = new List <TransactionsHistory> { transaction }, AccountDeposits = new List <AccountDeposit> { accountDeposit3 }, } ); _context.Accounts.Add( new Account() { UserId = (await _userManager.FindByNameAsync("John")).Id, AccountNumber = "555666111222", AccountName = "johnAcc", Balance = 200, Cards = new List <Card> { new Card() { AccountId = 1, CardNumber = _encryptionService.Encrypt("2589854785986525"), CCV = 229, CreatedAt = DateTime.Now, ExpireDate = DateTime.Now.AddYears(3), Status = CardStatus.Active.ToString(), CardType = "Visa" } }, AccountDeposits = new List <AccountDeposit> { accountDeposit1, accountDeposit2 }, MoneyTransfers = new List <TransactionsHistory> { transaction }, AccountLoans = new List <AccountLoan> { accountLoan3 }, AccrueAccountLoans = new List <AccountLoan> { accountLoan2 }, } ); _context.Loans.Add(new Loan() { Name = "TestLoan1", Percentage = 18, ServiceFee = 2, AccidentInsurance = 0, InsuranceLoan = 0, AccountLoans = new List <AccountLoan> { accountLoan1 }, Currency = "USD", InterestRate = 3, LoanInterestRate = 3, RepaymentSchedule = "Monthly", AdvancedPayment = "Without paying commission", MinAmount = 2000, MaxAmount = 5000, Term = typeof(Term).GetValues().ToArray()[0], Purpose = typeof(LoanPurposes).GetValues().ToArray()[0] }); _context.Loans.Add(new Loan() { Name = "TestLoan2", Percentage = 18, ServiceFee = 2, AccidentInsurance = 0, InsuranceLoan = 200, AccountLoans = new List <AccountLoan> { accountLoan2 }, Currency = "USD", InterestRate = 10, LoanInterestRate = 10, RepaymentSchedule = "Monthly", AdvancedPayment = "Without paying commission", MinAmount = 3000, MaxAmount = 6000, Term = typeof(Term).GetValues().ToArray()[1], Purpose = typeof(LoanPurposes).GetValues().ToArray()[1] }); _context.Loans.Add(new Loan() { Name = "TestLoan3", Percentage = 18, ServiceFee = 2, AccidentInsurance = 0, InsuranceLoan = 156, AccountLoans = new List <AccountLoan> { accountLoan3 }, Currency = "USD", InterestRate = 20, LoanInterestRate = 20, RepaymentSchedule = "Monthly", AdvancedPayment = "Without paying commission", MinAmount = 5000, MaxAmount = 100000, Term = typeof(Term).GetValues().ToArray()[2], Purpose = typeof(LoanPurposes).GetValues().ToArray()[2] }); await _context.SaveChangesAsync(); }
public IActionResult CustomerRegistration([FromBody] CustomerDto customerdto) { ResponseModel rm = new ResponseModel(); if (!ModelState.IsValid) { rm.Notification = ApUtility.CreateNotification("Invalid information", Enums.NotificationType.Error); return(StatusCode(500, rm)); } try { var chekDuplicateEemail = customerService.GetByEmail(customerdto.Email); if (chekDuplicateEemail != null) { rm.Notification = ApUtility.CreateNotification("Email Already Exists.", Enums.NotificationType.Error); return(StatusCode(500, rm)); } var customer = ApUtility.ObjectMapToOther <CustomerDto, Customer>(customerdto); var customerAccount = ApUtility.ObjectMapToOther <CustomerDto, CustomerAccount>(customerdto); customer.Id = Guid.NewGuid(); customer.Password = customer.Password.Encrypt(); customer.CreatedOn = DateTime.UtcNow; customerAccount.Id = Guid.NewGuid(); customerAccount.CustomerId = customer.Id; customerAccount.AccountNumber = customerAccountService.GetAccountNumberMax(); customerAccount.RecordStatus = true; customerAccount.CreatedOn = DateTime.UtcNow; AccountDeposit deposit = new AccountDeposit() { Id = new Guid(), CustomerId = customer.Id, AccountId = customerAccount.Id, DepositDate = DateTime.UtcNow, Amount = customerAccount.Amount }; AccountTransaction accountTransaction = new AccountTransaction() { Id = new Guid(), CustomerId = customer.Id, AccountId = customerAccount.Id, TransactionDate = DateTime.UtcNow, TransferType = (int)Enums.TransactionType.Deposit, DrAmount = customerAccount.Amount, CrAmount = 0 }; using (TransactionScope ts = new TransactionScope()) { try { customerService.Create(customer); customerService.SaveChanges(); customerAccountService.Create(customerAccount); customerAccountService.SaveChanges(); depositService.Create(deposit); depositService.SaveChanges(); transactionService.Create(accountTransaction); transactionService.SaveChanges(); ts.Complete(); } catch (Exception ex) { ts.Dispose(); rm.Notification = ApUtility.CreateNotification(ex.Message, Enums.NotificationType.Error); return(StatusCode(500, rm)); } } rm.Notification = ApUtility.CreateNotification("Customer Registration is succeed.", Enums.NotificationType.Success); rm.Data = customerService.Get(customer.Id); return(Created(string.Empty, rm)); } catch (Exception ex) { rm.Notification = ApUtility.CreateNotification(ex.Message, Enums.NotificationType.Error); return(StatusCode(500, rm)); } }
public async Task <AccountDeposit> Update(AccountDeposit accountDeposit) { var result = await _rep.Update(accountDeposit); return(result); }
public async Task Delete(AccountDeposit accountDeposit) { await _rep.Delete(accountDeposit); }