コード例 #1
0
        public override void SetContactData(IContactDataCollection previousContactData)
        {
            var allContacts = previousContactData.GetContactData();
            var main = allContacts.FirstOrDefault(c => c.Id == "MainContact") as MainContactModel;
            var billing = allContacts.FirstOrDefault(c => c.Id == "BillingContact") as BillingContactModel;
            var whois = allContacts.FirstOrDefault(c => c.Id == "WhoisContact") as WhoisContactModel;

            // Email is required so if it is present the form has been filled in.

            if (main != null && !string.IsNullOrEmpty(main.Email))
            {
                this.MainContact = main;
            }

            if (billing != null && !string.IsNullOrEmpty(billing.Email))
            {
                this.BillingContact = billing;
                this.OtherBillingContact = true;
            }

            if (whois != null && !string.IsNullOrEmpty(whois.Email))
            {
                this.WhoisContact = whois;
                this.OtherWhoisContact = true;
            }
        }
コード例 #2
0
        public override void SetContactData(IContactDataCollection previousContactData)
        {
            var allContacts      = previousContactData.GetContactData();
            var main             = allContacts.FirstOrDefault(c => c.Id == "MainContact") as MainContactModel;
            var billing          = allContacts.FirstOrDefault(c => c.Id == "BillingContact") as BillingContactModel;
            var whois            = allContacts.FirstOrDefault(c => c.Id == "WhoisContact") as WhoisContactModel;
            var existingCustomer = allContacts.FirstOrDefault(c => c.Id == "ExistingCustomerContact") as ExistingCustomerContactData;

            // Email is required so if it is present the form has been filled in.

            if (main != null && !string.IsNullOrEmpty(main.Email))
            {
                this.MainContact = main;
            }

            if (billing != null && !string.IsNullOrEmpty(billing.Email))
            {
                this.BillingContact      = billing;
                this.OtherBillingContact = true;
            }

            if (whois != null && !string.IsNullOrEmpty(whois.Email))
            {
                this.WhoisContact      = whois;
                this.OtherWhoisContact = true;
            }

            if (existingCustomer != null && !string.IsNullOrEmpty(existingCustomer.Username))
            {
                this.ExistingCustomerContact = existingCustomer;
            }
        }
コード例 #3
0
 /// <summary>
 /// Determines which kind of contact is selected.
 /// </summary>
 /// <param name="previousContactData">Contact data collection</param>
 private void SetSelectedCustomerType(IContactDataCollection previousContactData)
 {
     ViewBag.SelectedOrderAccounType = CustomerOrderAccounType.New;
     if (previousContactData != null && previousContactData.GetType() == typeof(ExistingCustomerContactModel))
     {
         ViewBag.SelectedOrderAccounType = CustomerOrderAccounType.Existing;
     }
 }
コード例 #4
0
        public void SaveContactData(IContactDataCollection contactData)
        {
            var contactDataType = contactData.GetType();

            if (contactDataType == typeof(ExistingCustomerContactModel))
            {
                newCustomerProvider.ClearContactData();
                existingCustomerProvider.SaveContactData(contactData);
            }
            else if (contactDataType.IsSubclassOf(typeof(AccountViewModel)))
            {
                existingCustomerProvider.ClearContactData();
                newCustomerProvider.SaveContactData(contactData);
            }
            else
            {
                throw new InvalidOperationException("Cannot save contact data of type " + contactDataType + ".");
            }
        }
コード例 #5
0
        /// <summary>
        /// OrderContext constructor
        /// </summary>
        /// <param name="cart">Collected cart data</param>
        /// <param name="contactDataCollection">Collected contact data</param>
        /// <param name="paymentData">Collected payment data</param>
        /// <param name="extraData">Any unspecified extra data</param>
        public OrderContext(Cart cart, IContactDataCollection contactDataCollection, PaymentData paymentData, IEnumerable<object> extraData)
        {
            if (cart == null)
            {
                throw new ArgumentNullException("cart");
            }

            if (contactDataCollection == null)
            {
                throw new ArgumentNullException("contactDataCollection");
            }

            if (paymentData == null)
            {
                throw new ArgumentNullException("paymentData");
            }

            this.cart = cart;
            this.contactData = contactDataCollection.GetContactData();
            this.paymentData = paymentData;
            this.extraData = extraData;
        }
コード例 #6
0
        /// <summary>
        /// OrderContext constructor
        /// </summary>
        /// <param name="cart">Collected cart data</param>
        /// <param name="contactDataCollection">Collected contact data</param>
        /// <param name="paymentData">Collected payment data</param>
        /// <param name="extraData">Any unspecified extra data</param>
        public OrderContext(Cart cart, IContactDataCollection contactDataCollection, PaymentData paymentData, IEnumerable <object> extraData)
        {
            if (cart == null)
            {
                throw new ArgumentNullException("cart");
            }

            if (contactDataCollection == null)
            {
                throw new ArgumentNullException("contactDataCollection");
            }

            if (paymentData == null)
            {
                throw new ArgumentNullException("paymentData");
            }

            this.cart        = cart;
            this.contactData = contactDataCollection.GetContactData();
            this.paymentData = paymentData;
            this.extraData   = extraData;
        }
コード例 #7
0
 public abstract void SetContactData(IContactDataCollection previousContactData);
コード例 #8
0
 public abstract void SetContactData(IContactDataCollection previousContactData);
 public void SaveContactData(IContactDataCollection contactData)
 {
     HttpContext.Current.Session["ExistingCustomerData"] = contactData;
 }
コード例 #10
0
 /// <inheritdoc />
 public void SaveContactData(IContactDataCollection contactData)
 {
     HttpContext.Current.Session["ContactData"] = contactData;
 }
コード例 #11
0
 /// <inheritdoc />
 public void SaveContactData(IContactDataCollection contactData)
 {
     HttpContext.Current.Session["ContactData"] = contactData;
 }