/// <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; } }
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 + "."); } }