public void AddCreditCardChangeHistory(int customerID, int creditCardTypeID, string creditCardNo, string creditCardHolderName, string creditCardIDNo, DateTime creditCardExpireDate)
        {
            var ccChangeHistory = new CreditCardChangeHistory();

            ccChangeHistory.CustomerID            = customerID;
            ccChangeHistory.CreditCardTypeID      = creditCardTypeID;
            ccChangeHistory.CreditCardNo          = creditCardNo;
            ccChangeHistory.CreditCardHolderName  = creditCardHolderName;
            ccChangeHistory.CreditCardExpiredDate = creditCardExpireDate;
            ccChangeHistory.CreditCardIDNo        = creditCardIDNo;
            EntityHelper.SetAuditFieldForUpdate(ccChangeHistory, principal.Identity.Name);
            context.Add(ccChangeHistory);
            context.SaveChanges();
        }
示例#2
0
        public void AddCreditCardChangeHistory(int customerID, int creditCardTypeID, string creditCardNo, string creditCardHolderName, string creditCardIDNo, DateTime creditCardExpireDate)
        {
            CreditCardChangeHistory ccChangeHistory = new CreditCardChangeHistory();

            ccChangeHistory.CustomerID            = customerID;
            ccChangeHistory.CreditCardTypeID      = creditCardTypeID;
            ccChangeHistory.CreditCardNo          = creditCardNo;
            ccChangeHistory.CreditCardHolderName  = creditCardHolderName;
            ccChangeHistory.CreditCardExpiredDate = creditCardExpireDate;
            ccChangeHistory.CreditCardIDNo        = creditCardIDNo;
            EntityHelper.SetAuditFieldForUpdate(ccChangeHistory, HttpContext.Current.User.Identity.Name);
            ctx.CreditCardChangeHistories.InsertOnSubmit(ccChangeHistory);
            ctx.SubmitChanges();
        }
        public void UpdateCreditCardInfo(string barcode, int creditCardTypeID, int bankID, string cardHolderName, string cardHolderIDNo, string creditCardNo, DateTime expiredDate, string reason)
        {
            Customer customer = context.Customers.SingleOrDefault(c => c.Barcode == barcode && c.BillingTypeID != 1);

            if (customer != null)
            {
// ReSharper disable once InconsistentNaming
                CreditCardChangeHistory lastCC = context.CreditCardChangeHistories.Where(cch => cch.CustomerID == customer.ID).OrderByDescending(cch => cch.ChangedWhen).Take(1).SingleOrDefault();
                if (lastCC != null)
                {
                    if (lastCC.CreditCardTypeID == creditCardTypeID &&
                        lastCC.BankID == bankID &&
                        lastCC.CreditCardHolderName == cardHolderName &&
                        lastCC.CreditCardIDNo == cardHolderIDNo &&
                        lastCC.CreditCardExpiredDate == expiredDate &&
                        lastCC.CreditCardNo == creditCardNo)
                    {
                        throw new Exception("Cannot found any change information since last information of credit card was saved.");
                    }
                }

                var cc = new CreditCardChangeHistory();
                cc.Customer              = customer;
                cc.CreditCardTypeID      = creditCardTypeID;
                cc.BankID                = bankID;
                cc.CreditCardHolderName  = cardHolderName;
                cc.CreditCardIDNo        = cardHolderIDNo;
                cc.CreditCardNo          = creditCardNo;
                cc.CreditCardExpiredDate = expiredDate;
                cc.Reason                = reason;
                cc.ChangedWhen           = DateTime.Now;
                cc.ChangedWho            = principal.Identity.Name;
                context.Add(cc);

                customer.BankID           = bankID;
                customer.CreditCardTypeID = creditCardTypeID;
                customer.CardHolderID     = cardHolderIDNo;
                customer.CardHolderName   = cardHolderName;
                customer.CardNo           = creditCardNo;
                customer.ExpiredDate      = expiredDate;

                context.SaveChanges();
            }
        }