public async Task <IActionResult> Edit(int id)
        {
            var paymentInstrumentRepository = await _paymentInstrumentRepository.Select(id);

            EditPaymentInstrumentViewModel editPaymentInstrumentModel = new EditPaymentInstrumentViewModel()
            {
                Id                      = paymentInstrumentRepository.Id,
                ServiceName             = paymentInstrumentRepository.ServiceName,
                MerchantName            = paymentInstrumentRepository.MerchantName,
                VPANEnrollmentId        = paymentInstrumentRepository.VPANEnrollmentId,
                Last4                   = paymentInstrumentRepository.Last4,
                ExpirationMonth         = paymentInstrumentRepository.ExpirationMonth,
                ExpirationYear          = paymentInstrumentRepository.ExpirationYear,
                AccountStatus           = paymentInstrumentRepository.AccountStatus,
                IsTokenizable           = paymentInstrumentRepository.IsTokenizable,
                Indicators              = paymentInstrumentRepository.Indicators,
                ExpDatePrintedInd       = paymentInstrumentRepository.ExpDatePrintedInd,
                Cvv2PrintedInd          = paymentInstrumentRepository.Cvv2PrintedInd,
                PaymentType             = paymentInstrumentRepository.PaymentType,
                PaymentAccountReference = paymentInstrumentRepository.PaymentAccountReference,
                MerchantPresentedQR     = paymentInstrumentRepository.MerchantPresentedQR,
                AddressLine1            = paymentInstrumentRepository.AddressLine1,
                AddressLine2            = paymentInstrumentRepository.AddressLine2,
                AddressState            = paymentInstrumentRepository.AddressState,
                AddressCity             = paymentInstrumentRepository.AddressCity,
                AddressCountry          = paymentInstrumentRepository.AddressCountry,
                AddressPostalCode       = paymentInstrumentRepository.AddressPostalCode,
                Cvv2VerificationCode    = paymentInstrumentRepository.Cvv2VerificationCode,
                AddressVerificationCode = paymentInstrumentRepository.AddressVerificationCode,
                Status                  = paymentInstrumentRepository.Status,
                Created                 = paymentInstrumentRepository.Created,
                Updated                 = paymentInstrumentRepository.Updated,
                BackgroundColor         = paymentInstrumentRepository.BackgroundColor,
                ForegroundColor         = paymentInstrumentRepository.ForegroundColor,
                LabelColor              = paymentInstrumentRepository.LabelColor,
                ContactWebsite          = paymentInstrumentRepository.ContactWebsite,
                ContactEmail            = paymentInstrumentRepository.ContactEmail,
                ContactNumber           = paymentInstrumentRepository.ContactNumber,
                ContactName             = paymentInstrumentRepository.ContactName,
                BankAppName             = paymentInstrumentRepository.BankAppName,
                BankAppAddress          = paymentInstrumentRepository.BankAppAddress,
                PrivacyPolicyURL        = paymentInstrumentRepository.PrivacyPolicyURL,
                TermsAndConditionsURL   = paymentInstrumentRepository.TermsAndConditionsURL,
                TermsAndConditionsID    = paymentInstrumentRepository.TermsAndConditionsID,
                ShortDescription        = paymentInstrumentRepository.ShortDescription,
                LongDescription         = paymentInstrumentRepository.LongDescription,
                CardMetadataContentId   = paymentInstrumentRepository.CardMetadataContentId,
                MimeType                = paymentInstrumentRepository.MimeType,
                Width                   = paymentInstrumentRepository.Width,
                Height                  = paymentInstrumentRepository.Height,
                Data                    = paymentInstrumentRepository.Data,
                Guid                    = paymentInstrumentRepository.Guid,
                AltText                 = paymentInstrumentRepository.AltText,
                ContentType             = paymentInstrumentRepository.ContentType
            };

            return(View(editPaymentInstrumentModel));
        }
        public async Task <IActionResult> Edit(EditPaymentInstrumentViewModel editPaymentModel)
        {
            PaymentInstrument paymentInstrument = new PaymentInstrument()
            {
                Id                      = editPaymentModel.Id,
                ServiceId               = editPaymentModel.ServiceId,
                MerchantId              = editPaymentModel.MerchantId,
                VPANEnrollmentId        = editPaymentModel.VPANEnrollmentId,
                Last4                   = editPaymentModel.Last4,
                ExpirationMonth         = editPaymentModel.ExpirationMonth,
                ExpirationYear          = editPaymentModel.ExpirationYear,
                AccountStatus           = editPaymentModel.AccountStatus,
                IsTokenizable           = editPaymentModel.IsTokenizable,
                Indicators              = editPaymentModel.Indicators,
                ExpDatePrintedInd       = editPaymentModel.ExpDatePrintedInd,
                Cvv2PrintedInd          = editPaymentModel.Cvv2PrintedInd,
                PaymentType             = editPaymentModel.PaymentType,
                PaymentAccountReference = editPaymentModel.PaymentAccountReference,
                MerchantPresentedQR     = editPaymentModel.MerchantPresentedQR,
                AddressLine1            = editPaymentModel.AddressLine1,
                AddressLine2            = editPaymentModel.AddressLine2,
                AddressState            = editPaymentModel.AddressState,
                AddressCity             = editPaymentModel.AddressCity,
                AddressCountry          = editPaymentModel.AddressCountry,
                AddressPostalCode       = editPaymentModel.AddressPostalCode,
                Cvv2VerificationCode    = editPaymentModel.Cvv2VerificationCode,
                AddressVerificationCode = editPaymentModel.AddressVerificationCode,
                Status                  = editPaymentModel.Status,
                Created                 = editPaymentModel.Created,
                Updated                 = editPaymentModel.Updated
            };

            await _paymentInstrumentRepository.Update(paymentInstrument, paymentInstrument.Id);

            return(RedirectToAction("List"));
        }