Beispiel #1
0
        }         // ValidateOfferDate

        /// <summary>
        /// Add new paypoint card from paypoint callback.
        /// </summary>
        /// <param name="transId">Paypoint transaction id. null for test card</param>
        /// <param name="cardNo">Last digits of credit card. null for test card</param>
        /// <param name="expiry">Format: MMYY</param>
        /// <returns></returns>
        public virtual PayPointCard TryAddPayPointCard(string transId, string cardNo, string expiry, string cardHolder, PayPointAccount account)
        {
            var card = new PayPointCard {
                Customer         = this,
                DateAdded        = DateTime.UtcNow,
                CardNo           = cardNo,
                TransactionId    = transId,
                ExpireDateString = expiry,
                CardHolder       = cardHolder,
                PayPointAccount  = account,
                IsDefaultCard    = true
            };

            if (!string.IsNullOrEmpty(expiry) && expiry.Length == 4)
            {
                DateTime dt;

                if (DateTime.TryParseExact(expiry, "MMyy", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out dt))
                {
                    card.ExpireDate = dt;
                }
            }             // if

            //if (!string.IsNullOrEmpty(card.CardNo) && card.ExpireDate.HasValue) {
            //	var existing = PayPointCards
            //		.Where(c => c.ExpireDate != null)
            //		.Where(c => c.ExpireDate.Value.Year == card.ExpireDate.Value.Year)
            //		.Where(c => c.ExpireDate.Value.Month == card.ExpireDate.Value.Month)
            //		.FirstOrDefault(c => c.CardNo == card.CardNo);

            //	if (existing != null) {
            //		existing.TransactionId = card.TransactionId;
            //		existing.DateAdded = card.DateAdded;
            //		return existing;
            //	} // if
            //} // if
            if (PayPointCards.Any())
            {
                foreach (var payPointCard in PayPointCards)
                {
                    payPointCard.IsDefaultCard = false;
                }
            }

            PayPointCards.Add(card);

            return(card);
        }         // TryAddPayPointCard
Beispiel #2
0
        public PaymentsAccountModel(Customer customer)
        {
            PayPointCards.AddRange(customer.PayPointCards.Select(PayPointCardModel.FromCard));

            CurrentBankAccount = BankAccountModel.FromCard(customer.CurrentCard);

            int currentBankAccountId = 0;

            if (CurrentBankAccount != null)
            {
                currentBankAccountId = CurrentBankAccount.Id;
            }

            BankAccounts.AddRange(customer.BankAccounts.Where(a => a.Id != currentBankAccountId).Select(BankAccountModel.FromCard));

            CustomerDefaultCardSelectionAllowed = customer.DefaultCardSelectionAllowed;
        }