/// <summary> /// If overloaded don't forget to call base.Load() or make sure to /// assign the WrappedElement. /// </summary> /// <returns></returns> public override ILoadableComponent Load() { base.Load(); CustomerRolesElement.Load(); return(this); }
/// <summary> /// Sets the customer roles. /// </summary> /// <param name="customerRoles">The customer roles.</param> /// <returns></returns> public virtual _CreateOrUpdateInfoComponent SetCustomerRoles( IEnumerable <string> customerRoles) { var selectedItems = CustomerRolesElement.GetSelectedOptions(); var itemsToSelect = customerRoles.Except(selectedItems); if (customerRoles?.Any() ?? true) { // Remove all items. foreach (var item in selectedItems) { CustomerRolesElement.DeselectItem(item); } } else { // Remove all items not in customerRoles. foreach (var selectedItem in selectedItems) { if (customerRoles.Contains(selectedItem)) { continue; } // Remove item. CustomerRolesElement.DeselectItem(selectedItem); } // Add items from customer roles that aren't already selected. foreach (var item in itemsToSelect) { CustomerRolesElement.SelectItem(item); } } return(this); }
/// <summary> /// Gets the customer roles. /// </summary> /// <returns></returns> public virtual IEnumerable <string> GetCustomerRoles() { return(CustomerRolesElement.GetSelectedOptions()); }