public void Add(AttributeMetadataInfo info)
 {
     list.Add(info);
 }
 public void Remove(AttributeMetadataInfo info)
 {
     list.Remove(info);
 }
 public void Remove(AttributeMetadataInfo info)
 {
     list.Remove(info);
 }
        private void LoadAttributes(IEnumerable<AttributeMetadata> attributes)
        {
            var items = new List<ListViewItem>();

            foreach (var attribute in attributes.ToList().OrderBy(a => a.LogicalName))
            {
                var amd = new AttributeMetadataInfo(attribute);
                var item = new ListViewItem(amd.LogicalName);
                item.SubItems.Add(amd.SchemaName);
                item.SubItems.Add(amd.AttributeType.ToString());
                AddSecondarySubItems(typeof(AttributeMetadataInfo), ListViewColumnsSettings.AttributeFirstColumns, lvcSettings.AttributeSelectedAttributes, amd, item);

                switch (attribute.AttributeType.Value)
                {
                    case AttributeTypeCode.Boolean:
                        {
                            item.Tag = new BooleanAttributeMetadataInfo((BooleanAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.BigInt:
                        {
                            item.Tag = new BigIntAttributeMetadataInfo((BigIntAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.Customer:
                    case AttributeTypeCode.Lookup:
                    case AttributeTypeCode.Owner:
                        {
                            item.Tag = new LookupAttributeMetadataInfo((LookupAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.DateTime:
                        {
                            item.Tag = new DateTimeAttributeMetadataInfo((DateTimeAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.Decimal:
                        {
                            item.Tag = new DecimalAttributeMetadataInfo((DecimalAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.Double:
                        {
                            item.Tag = new DoubleAttributeMetadataInfo((DoubleAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.EntityName:
                        {
                            item.Tag = new AttributeMetadataInfo(attribute);
                        }
                        break;
                  case AttributeTypeCode.Integer:
                        {
                            item.Tag = new IntegerAttributeMetadataInfo((IntegerAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.ManagedProperty:
                        {
                            item.Tag =
                                new ManagedPropertyAttributeMetadataInfo((ManagedPropertyAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.Memo:
                        {
                            item.Tag = new MemoAttributeMetadataInfo((MemoAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.Money:
                        {
                            item.Tag = new MoneyAttributeMetadataInfo((MoneyAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.Picklist:
                        {
                            item.Tag = new PicklistAttributeMetadataInfo((PicklistAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.State:
                        {
                            item.Tag = new StateAttributeMetadataInfo((StateAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.Status:
                        {
                            item.Tag = new StatusAttributeMetadataInfo((StatusAttributeMetadata)attribute);
                        }
                        break;
                    case AttributeTypeCode.String:
                        {
                            item.Tag = new StringAttributeMetadataInfo((StringAttributeMetadata)attribute);
                        }
                        break;
                    default:
                        {
                            if (attribute.AttributeTypeName == AttributeTypeDisplayName.ImageType)
                            {
                                item.Tag = new ImageAttributeMetadataInfo((ImageAttributeMetadata)attribute);
                            }
                            else
                            {
                                item.Tag = new AttributeMetadataInfo(attribute);
                            }
                        }
                        break;
                }

                items.Add(item);
            }
            attributeListView.Items.Clear();
            attributeListView.Items.AddRange(items.ToArray());
        }
 public void Add(AttributeMetadataInfo info)
 {
     list.Add(info);
 }