public override PaymentInstrument SavePaymentInstrument(PaymentInstrument paymentInstrument)
        {
            var echeckPayment = (ECheckPayment)paymentInstrument;

            var check = _checkRepository.Save(echeckPayment.ECheck);

            echeckPayment.ECheckId = check.Id;

            echeckPayment = (ECheckPayment)base.SavePaymentInstrument(echeckPayment);
            MapCheckToCheckPayment(echeckPayment, check);

            return(echeckPayment);
        }
        public override PaymentInstrument SavePaymentInstrument(PaymentInstrument paymentInstrument)
        {
            var checkPayment = (CheckPayment)paymentInstrument;

            using (var transactionScope = new TransactionScope())
            {
                var check = _checkRepository.Save(checkPayment.Check);
                checkPayment.CheckId = check.Id;

                checkPayment = (CheckPayment)base.SavePaymentInstrument(paymentInstrument);
                MapCheckToCheckPayment(checkPayment, check);

                transactionScope.Complete();
            }
            return(checkPayment);
        }