-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsubFieldsList.cs
More file actions
129 lines (105 loc) · 3.19 KB
/
Copy pathsubFieldsList.cs
File metadata and controls
129 lines (105 loc) · 3.19 KB
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
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace MarcNet
{
public class subFieldsList
{
private DupHashlist _myList = new DupHashlist();
public subFieldsList()
{
}
public void replaceSubField(string subFieldCode, string subField)
{
_myList.Replace(subFieldCode, subField);
}
public void addSubField(string subFieldCode, string subField)
{
_myList.Add(subFieldCode, subField);
}
public void removeSubField(string subFieldCode)
{
_myList.Remove(subFieldCode);
}
public void removeSubField(string subFieldCode, string subField)
{
}
public char[] asRaw()
{
char[] raw = new char[rawLength];
IDictionaryEnumerator myEnum = _myList.GetEnumerator();
string myObject = null;
String retStr = null;
while (myEnum.MoveNext())
{
myObject = (string)myEnum.Value;
retStr += String.Format("{0}{1}{2}", MARCChar.SUBFIELD_INDICATOR.ToString(),myEnum.Key.ToString(), myObject);
}
if (retStr != null)
{
retStr.CopyTo(0, raw, 0, rawLength);
}
return raw;
}
public string asFormatted()
{
IDictionaryEnumerator myEnum = _myList.GetEnumerator();
string myObject = null;
String retStr = null;
while (myEnum.MoveNext())
{
myObject = (string)myEnum.Value;
retStr += String.Format("${0:1}{1}",myEnum.Key.ToString(),myObject);
}
return retStr;
}
public string getSubField(string code)
{
string retStr = null;
DupHashlist.IndexedObject myObject = _myList.getIndexedObject(code);
if (myObject != null)
{
retStr = myObject.Object.ToString();
}
return retStr;
}
public bool ContainsKey(string code)
{
return _myList.ContainsKey(code);
}
public bool Contains(string code)
{
return _myList.Contains(code);
}
public int Length
{
get
{
IDictionaryEnumerator myEnum = _myList.GetEnumerator();
string myObject = null;
int len = 0;
while (myEnum.MoveNext())
{
myObject = (string)myEnum.Value;
len += (myEnum.Key.ToString().Length + myObject.Length);
}
return len;
}
}
public int rawLength
{
get
{
return Count + Length;
}
}
public int Count
{
get
{
return _myList.Count;
}
}
}
}