public AccountDetails GetById(int id)
        {
            var account = _bankAccountRepository.GetList2(x => x.Currency, x => x.Bank).SingleOrDefault(x => x.Id == id);

            if (account == null)
            {
                return(null);
            }

            // Can be null for online banking
            var favoriteBankDetails = _bankBranchRepository.GetList().SingleOrDefault(x => x.BankId == account.BankId);

            var mappedAccount = Mapper.Map <AccountDetails>(account);

            if (favoriteBankDetails != null)
            {
                mappedAccount.BankBranchName         = favoriteBankDetails.Name;
                mappedAccount.BankBranchAddressLine1 = favoriteBankDetails.AddressLine1;
                mappedAccount.BankBranchAddressLine2 = favoriteBankDetails.AddressLine2;
                mappedAccount.BankBranchPostCode     = favoriteBankDetails.PostCode;
                mappedAccount.BankBranchCity         = favoriteBankDetails.City;
                mappedAccount.BankBranchPhoneNumber  = favoriteBankDetails.PhoneNumber;
            }
            return(mappedAccount);
        }
        public BankDetails GetById(int id)
        {
            var bank = _bankRepository.GetById(id);

            if (bank == null)
            {
                return(null);
            }

            var mappedBank = Mapper.Map <BankDetails>(bank);

            var bankBranch = _bankBranchRepository.GetList().SingleOrDefault(x => x.BankId == id);

            mappedBank.FavoriteBranch = Mapper.Map <BankBranchDetails>(bankBranch);

            return(mappedBank);
        }