private BlockchainTransaction GetTransaction(EmailQueue emailQueue)
        {
            switch (emailQueue.NetworkName)
            {
            case CryptoCurrency.BTC:
                switch (emailQueue.Template)
                {
                case EmailTemplate.Sent:
                /*using (var bitcoinWithdraw =
                 *  _smartcontractRepositoryFactory.GetBitcoinWithdrawTransactionRepository(_connectionDb))
                 * {
                 *  return bitcoinWithdraw.FindById(emailQueue.TransactionId);
                 * }*/
                case EmailTemplate.Received:
                /*using (var bitcoinDeposit =
                 *  _smartcontractRepositoryFactory.GetBitcoinDepositTransactionRepository(_connectionDb))
                 * {
                 *  return bitcoinDeposit.FindById(emailQueue.TransactionId);
                 * }*/
                case EmailTemplate.NewDevice:
                    break;

                case EmailTemplate.Verify:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                break;

            case CryptoCurrency.ETH:
                switch (emailQueue.Template)
                {
                case EmailTemplate.Sent:
                    //return
                    using (var _rep =
                               _smartcontractRepositoryFactory.GetEthereumWithdrawTransactionRepository(_connectionDb))
                    {
                        return(_rep.FindById(emailQueue.TransactionId));
                    }

                case EmailTemplate.Received:
                    using (var _rep =
                               _smartcontractRepositoryFactory.GetEthereumDepositeTransactionRepository(_connectionDb))
                    {
                        return(_rep.FindById(emailQueue.TransactionId));
                    }

                case EmailTemplate.NewDevice:
                    break;

                case EmailTemplate.Verify:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                break;

            case CryptoCurrency.VAKA:
                switch (emailQueue.Template)
                {
                case EmailTemplate.Sent:
                /*using (var rep =
                 *  _smartcontractRepositoryFactory.GetVakacoinWithdrawTransactionRepository(_connectionDb))
                 * {
                 *  return rep.FindById(emailQueue.TransactionId);
                 * }*/

                case EmailTemplate.Received:
                /*using (var rep =
                 *  _smartcontractRepositoryFactory.GetVakacoinDepositTransactionRepository(_connectionDb))
                 * {
                 *  return rep.FindById(emailQueue.TransactionId);
                 * }*/

                case EmailTemplate.NewDevice:
                    break;

                case EmailTemplate.Verify:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                break;
            }

            return(null);
        }