Пример #1
0
        ///<summary>Only deletes the credit card from Open Dental.  We currently do not delete PayConnect tokens from PayConnect anywhere like we do with XCharge/XWeb/PaySimple.
        ///Throws exceptions.</summary>
        public static void DeleteCreditCard(Patient pat, CreditCard cc)
        {
            if (pat == null)
            {
                throw new ODException("No Patient Found", ODException.ErrorCodes.NoPatientFound);
            }
            if (cc == null)
            {
                throw new ODException("No Credit Card Found", ODException.ErrorCodes.OtkArgsInvalid);
            }
            if (string.IsNullOrEmpty(cc.PayConnectToken))
            {
                throw new ODException("Invalid CC Alias", ODException.ErrorCodes.OtkArgsInvalid);
            }
            CreditCards.Delete(cc.CreditCardNum);
            List <CreditCard> creditCards = CreditCards.Refresh(pat.PatNum);

            for (int i = 0; i < creditCards.Count; i++)
            {
                creditCards[i].ItemOrder = creditCards.Count - (i + 1);
                CreditCards.Update(creditCards[i]);                //Resets ItemOrder.
            }
        }
Пример #2
0
 public CreditCard ToCreditCard()
 {
     try {
         //This is the class layout for the fields to be pulled out from the successful response string stored in the table
         var responseTypeParial = new {
             CreditCardNumber     = "",
             CreditCardExpireDate = "",
         };
         //Pull out all of the field values we care about from the response string
         var responseValues = JsonConvert.DeserializeAnonymousType(LastResponseStr, responseTypeParial);
         return(new CreditCard()
         {
             PatNum = PatNum,
             PayConnectToken = PaymentToken,
             CCNumberMasked = responseValues.CreditCardNumber,
             CCExpiration = new DateTime(2000 + int.Parse(responseValues.CreditCardExpireDate.Substring(2, 2)), int.Parse(responseValues.CreditCardExpireDate.Substring(0, 2)), 1),            //CCExpDate is stored as MMyy from PayConnect
             CCSource = CCSource,
             ClinicNum = Patients.GetPat(PatNum).ClinicNum,
             ItemOrder = CreditCards.Refresh(PatNum).Count,
             Address = "",
             Zip = "",
             ChargeAmt = 0,
             DateStart = DateTime.MinValue,
             DateStop = DateTime.MinValue,
             Note = "",
             PayPlanNum = 0,
             XChargeToken = "",
             PayConnectTokenExp = new DateTime(2000 + int.Parse(ExpDateToken.Substring(0, 2)), int.Parse(ExpDateToken.Substring(2, 2)), 1),            //ExpDateToken is stored as yyMM
             PaySimpleToken = "",
             Procedures = "",
         });
     }
     catch (Exception e) {
         throw new Exception("Error creating credit card from PayConnect web payment: " + e.Message, e);
     }
 }