Exemple #1
0
        public void CloseAccount(string accountNumber)
        {
            Account account = GetAccountFromRepository(accountNumber);

            repository.RemoveAccount(EntityConverter.ToDalAccount(account));

            var mail = new MailMessage()
            {
                Subject    = "Close account",
                Body       = $"Closing account operation. Account number: {accountNumber}",
                IsBodyHtml = true
            };

            mail.To.Add(account.OwnerEmail);
            mailService.SendMail(mail);
        }
Exemple #2
0
        public void Withdraw(string accountNumber, decimal amount)
        {
            Account account = GetAccountFromRepository(accountNumber);

            account.Withdraw(amount);
            repository.UpdateAccount(EntityConverter.ToDalAccount(account));

            var mail = new MailMessage()
            {
                Subject    = "Withdraw account",
                Body       = $"Withdraw accaunt {accountNumber}. Balance: {account.Balance}",
                IsBodyHtml = true
            };

            mail.To.Add(account.OwnerEmail);
            mailService.SendMail(mail);
        }
Exemple #3
0
        public string OpenAccount(string email, AccountType accountType, IAccountNumberCreator creator)
        {
            Account account;
            string  accountNumber = creator.Create();

            switch (accountType)
            {
            case AccountType.Base:
                account = new BaseAccount(accountNumber);
                break;

            case AccountType.Gold:
                account = new GoldAccount(accountNumber);
                break;

            case AccountType.Platinum:
                account = new PlatinumAccount(accountNumber);
                break;

            default:
                account = new BaseAccount(accountNumber);
                break;
            }
            account.OwnerEmail = email;
            repository.AddAccount(EntityConverter.ToDalAccount(account));
            var mail = new MailMessage()
            {
                Subject    = "Add account",
                Body       = $"New account was added. Account number: {accountNumber}",
                IsBodyHtml = true
            };

            mail.To.Add(email);
            mailService.SendMail(mail);

            return(accountNumber);
        }