-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAttributeDefinitionCollection.cs
134 lines (106 loc) · 3.51 KB
/
AttributeDefinitionCollection.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//Copyright (c) 2004-2007
//by Engage Software ( http://www.engagesoftware.com )
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
//TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
//THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
//CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
//DEALINGS IN THE SOFTWARE.
using System;
using DotNetNuke.UI;
using System.Collections;
namespace Engage.Dnn.Locator
{
public class AttributeDefinitionCollection : CollectionBase
{
#region Constructors
public AttributeDefinitionCollection() : base()
{
}
public AttributeDefinitionCollection(ArrayList definitionsList)
{
AddRange(definitionsList);
}
public AttributeDefinitionCollection(AttributeDefinitionCollection collection)
{
AddRange(collection);
}
#endregion
#region Properties
public AttributeDefinition this [int index]
{
get { return (AttributeDefinition)List[index]; }
set { List[index] = value; }
}
public AttributeDefinition this [string name]
{
get { return GetByName(name); }
}
#endregion
#region Methods
public int Add(AttributeDefinition value)
{
return List.Add(value);
}
public void AddRange(ArrayList definitions)
{
foreach (AttributeDefinition definition in definitions)
{
Add(definition);
}
}
public void AddRange(AttributeDefinitionCollection definitions)
{
foreach (AttributeDefinition definition in definitions)
{
Add(definition);
}
}
public bool Contains(AttributeDefinition value)
{
return List.Contains(value);
}
public AttributeDefinition GetById(int id)
{
AttributeDefinition item = null;
foreach (AttributeDefinition definition in InnerList)
{
if (definition.AttributeDefinitionId == id)
{
//Found Profile property
item = definition;
}
}
return item;
}
public AttributeDefinition GetByName(string name)
{
AttributeDefinition item = null;
foreach (AttributeDefinition definition in InnerList)
{
if (definition.AttributeName == name)
{
//Found Profile property
item = definition;
}
}
return item;
}
public int IndexOf(AttributeDefinition value)
{
return List.IndexOf(value);
}
public void Insert(int index, AttributeDefinition value)
{
List.Insert(index, value);
}
public void Remove(AttributeDefinition value)
{
List.Remove(value);
}
public void Sort()
{
InnerList.Sort(new AttributeDefinitionComparer());
}
#endregion
}
}