Ejemplo n.º 1
0
        private void ProcessUnallocated(DataContext dbContext, ConfirmedPaymentModel confirmedPaymentModel)
        {
            var rollingRegister = new RollingRegister();

            rollingRegister.Amount                = confirmedPaymentModel.Amount;
            rollingRegister.CredentialID          = SessionModel.CredentialID;
            rollingRegister.DateOpened            = DateTime.Now;
            rollingRegister.PaymentMethod         = (Data.Enums.PaymentMethod)confirmedPaymentModel.PaymentSource;
            rollingRegister.PaymentTransactionID  = null;
            rollingRegister.Reference             = string.Format("Token: {0}, Transaction Approval: {1}", confirmedPaymentModel.TransactionToken, confirmedPaymentModel.Receipt);
            rollingRegister.RollingRegisterStatus = Data.Enums.RollingRegisterStatus.Open;
            rollingRegister.RollingRegisterType   = Data.Enums.RollingRegisterType.Unallocated;

            dbContext.RollingRegisters.Add(rollingRegister);
            dbContext.SaveChanges();
        }
Ejemplo n.º 2
0
        private void ProcessUnderpayment(DataContext dbContext, PaymentTransaction paymentTransaction, ConfirmedPaymentModel confirmedPaymentModel)
        {
            var paymentProvider = resolvePaymentProvider();

            var rollingRegister = new RollingRegister();

            rollingRegister.Amount                = confirmedPaymentModel.Amount;
            rollingRegister.CredentialID          = SessionModel.CredentialID;
            rollingRegister.DateOpened            = DateTime.Now;
            rollingRegister.PaymentMethod         = (Data.Enums.PaymentMethod)confirmedPaymentModel.PaymentSource;
            rollingRegister.PaymentTransactionID  = paymentTransaction.ID;
            rollingRegister.Reference             = string.Format("Token: {0}, Transaction Approval: {1}", confirmedPaymentModel.TransactionToken, confirmedPaymentModel.Receipt);
            rollingRegister.RollingRegisterStatus = Data.Enums.RollingRegisterStatus.Open;
            rollingRegister.RollingRegisterType   = Data.Enums.RollingRegisterType.UnderPayment;

            dbContext.RollingRegisters.Add(rollingRegister);

            paymentTransaction.CredentialID      = SessionModel.CredentialID;
            paymentTransaction.ModifiedTimestamp = DateTime.Now;
            paymentTransaction.Status            = Data.Enums.PaymentTransactionStatus.RollingRegister;

            foreach (var paymentTransactionItem in paymentTransaction.TransactionItems)
            {
                paymentTransactionItem.Status = Data.Enums.PaymentTransactionStatus.RollingRegister;

                try
                {
                    paymentProvider.CancelTransaction(paymentTransactionItem.TransactionToken);
                }
                catch
                {
                    // Empty on purpose
                }
            }

            dbContext.SaveChanges();
        }