nmoneys 2.2.0.0.20120213 → 2.5.0.0.20120625

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/NMoneys.dll +0 -0
  2. data/lib/NMoneys.xml +492 -55
  3. metadata +2 -2
Binary file
@@ -4,7 +4,138 @@
4
4
  <name>NMoneys</name>
5
5
  </assembly>
6
6
  <members>
7
- <member name="T:NMoneys.Allocators.IRemainderAllocator">
7
+ <member name="T:NMoneys.Allocations.Allocation">
8
+ <summary>
9
+ Represents the allocated of an allocation operation.
10
+ </summary>
11
+ <seealso cref="M:NMoneys.Money.Allocate(System.Int32,NMoneys.Allocations.IRemainderAllocator)"/>
12
+ <seealso cref="M:NMoneys.Money.Allocate(NMoneys.Allocations.RatioCollection,NMoneys.Allocations.IRemainderAllocator)"/>
13
+ <seealso cref="M:NMoneys.Allocations.EvenAllocator.Allocate(System.Int32)"/>
14
+ <seealso cref="M:NMoneys.Allocations.ProRataAllocator.Allocate(NMoneys.Allocations.RatioCollection)"/>
15
+ </member>
16
+ <member name="M:NMoneys.Allocations.Allocation.#ctor(NMoneys.Money,NMoneys.Money[])">
17
+ <summary>
18
+ Initializes an instance of <see cref="T:NMoneys.Allocations.Allocation"/>.
19
+ </summary>
20
+ <param name="allocatable">The monetary quantity subject of the allocation operation.</param>
21
+ <param name="allocated">The raw allocated of an allocation (the quantities allocated).</param>
22
+ <exception cref="T:System.ArgumentNullException"><paramref name="allocated"/> is null.</exception>
23
+ <exception cref="T:NMoneys.DifferentCurrencyException">At least one of the <paramref name="allocated"/> has a different currency from <paramref name="allocatable"/>'s.</exception>
24
+ </member>
25
+ <member name="M:NMoneys.Allocations.Allocation.GetEnumerator">
26
+ <summary>
27
+ Returns an enumerator that iterates through the collection.
28
+ </summary>
29
+ <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.</returns>
30
+ </member>
31
+ <member name="M:NMoneys.Allocations.Allocation.System#Collections#IEnumerable#GetEnumerator">
32
+ <summary>
33
+ Returns an enumerator that iterates through a collection.
34
+ </summary>
35
+ <returns>An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.</returns>
36
+ </member>
37
+ <member name="M:NMoneys.Allocations.Allocation.ToString">
38
+ <summary>
39
+ Returns a <see cref="T:System.String"/> that represents the current <see cref="T:NMoneys.Allocations.Allocation"/>.
40
+ </summary>
41
+ <returns>
42
+ A <see cref="T:System.String"/> that represents the current <see cref="T:NMoneys.Allocations.Allocation"/>.
43
+ </returns>
44
+ </member>
45
+ <member name="M:NMoneys.Allocations.Allocation.ToString(System.String,System.IFormatProvider)">
46
+ <summary>
47
+ Formats the value of the current instance using the specified format.
48
+ </summary>
49
+ <remarks><paramref name="format"/> and <paramref name="formatProvider"/> are used to format each allocated monetary quantity.</remarks>
50
+ <returns>A <see cref="T:System.String"/> containing the value of the current instance in the specified format.</returns>
51
+ <param name="format">The <see cref="T:System.String"/> specifying the format to use.
52
+ -or-
53
+ null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
54
+ </param>
55
+ <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
56
+ -or-
57
+ null to obtain the numeric format information from the current locale setting of the operating system.
58
+ </param>
59
+ </member>
60
+ <member name="M:NMoneys.Allocations.Allocation.Zero(NMoneys.Money,System.Int32)">
61
+ <summary>
62
+ Initializes an "empty" allocation where money could be allocated.
63
+ </summary>
64
+ <param name="allocatable">The monetary quantity subject of the allocation operation.</param>
65
+ <param name="numberOfRecipients">The number of times to split up the total.</param>
66
+ <returns>An allocation of <see cref="P:NMoneys.Allocations.Allocation.Length"/> equal to <paramref name="numberOfRecipients"/> and zero <see cref="P:NMoneys.Allocations.Allocation.TotalAllocated"/>.</returns>
67
+ </member>
68
+ <member name="P:NMoneys.Allocations.Allocation.Allocatable">
69
+ <summary>
70
+ The monetary quantity being allocated.
71
+ </summary>
72
+ </member>
73
+ <member name="P:NMoneys.Allocations.Allocation.TotalAllocated">
74
+ <summary>
75
+ All the money from <see cref="P:NMoneys.Allocations.Allocation.Allocatable"/> that has been allocated.
76
+ </summary>
77
+ </member>
78
+ <member name="P:NMoneys.Allocations.Allocation.Remainder">
79
+ <summary>
80
+ All the money from <see cref="P:NMoneys.Allocations.Allocation.Allocatable"/> that has not been allocated.
81
+ </summary>
82
+ </member>
83
+ <member name="P:NMoneys.Allocations.Allocation.IsComplete">
84
+ <summary>
85
+ true if all the money from <see cref="P:NMoneys.Allocations.Allocation.Allocatable"/> has been allocated; otherwise, false.
86
+ </summary>
87
+ </member>
88
+ <member name="P:NMoneys.Allocations.Allocation.IsQuasiComplete">
89
+ <summary>
90
+ true if almost all the money from <see cref="P:NMoneys.Allocations.Allocation.Allocatable"/> has been allocated; otherwise, false.
91
+ </summary>
92
+ <remarks>"Almost" is defined by the minimum quantity that can be represented by the currency of <see cref="P:NMoneys.Allocations.Allocation.Allocatable"/>. <see cref="P:NMoneys.Currency.MinAmount"/></remarks>
93
+ </member>
94
+ <member name="P:NMoneys.Allocations.Allocation.Item(System.Int32)">
95
+ <summary>
96
+ Gets the element at the specified index.
97
+ </summary>
98
+ <param name="index">The index of the element to get.</param>
99
+ <returns>The element at the specified index.</returns>
100
+ </member>
101
+ <member name="P:NMoneys.Allocations.Allocation.Length">
102
+ <summary>
103
+ Gets a 32-bit integer that represents the total number of elements of the <see cref="T:NMoneys.Allocations.Allocation"/>.
104
+ </summary>
105
+ <returns>A 32-bit integer that represents the total number of elements of the <see cref="T:NMoneys.Allocations.Allocation"/>.</returns>
106
+ </member>
107
+ <member name="T:NMoneys.Allocations.EvenAllocator">
108
+ <summary>
109
+ Allows allocating an instance of <see cref="T:NMoneys.Money"/> evenly.
110
+ </summary>
111
+ </member>
112
+ <member name="M:NMoneys.Allocations.EvenAllocator.#ctor(NMoneys.Money)">
113
+ <summary>
114
+ Initializes an instance of <see cref="T:NMoneys.Allocations.EvenAllocator"/>
115
+ </summary>
116
+ <param name="toAllocate">Instance to be allocated evenly.</param>
117
+ </member>
118
+ <member name="M:NMoneys.Allocations.EvenAllocator.Allocate(System.Int32)">
119
+ <summary>
120
+ Allocates the sum of money 'fairly', discarding the remainder of an uneven allocation.
121
+ </summary>
122
+ <remarks>
123
+ <para>
124
+ A sum of money that can be allocated to each recipient exactly evenly is inherently 'fair'. For example, a US
125
+ Dollar split four (4) ways leaves each recipient with 25 cents and everything is allocated.</para>
126
+ <para>
127
+ A US Dollar split three (3) ways cannot be distributed evenly and is therefore inherently 'unfair'. What will be done
128
+ is allocate the maximum fair amount and leave the remainding amount for the caller to decide.</para>
129
+ </remarks>
130
+ <param name="numberOfRecipients">The number of times to split up the total.</param>
131
+ <returns>
132
+ The results of the even allocation with a length equal to <paramref name="numberOfRecipients"/>.
133
+ <para>In the case of an even allocation, the allocation will be complete.<see cref="P:NMoneys.Allocations.Allocation.IsComplete"/>, having a zero <see cref="P:NMoneys.Allocations.Allocation.Remainder"/>.</para>
134
+ <para>In the case of an uneven allocation, the allocation will not be complete <see cref="M:NMoneys.Allocations.EvenAllocator.#ctor(NMoneys.Money)"/>, having a non-zero <see cref="P:NMoneys.Allocations.Allocation.Remainder"/>.</para>
135
+ </returns>
136
+ <seealso cref="M:NMoneys.Allocations.EvenAllocator.#ctor(NMoneys.Money)"/>
137
+ </member>
138
+ <member name="T:NMoneys.Allocations.IRemainderAllocator">
8
139
  <summary>
9
140
  Distributes the remainder after allocating the highest fair amount amongst all the recipients.
10
141
  </summary>
@@ -13,32 +144,212 @@
13
144
  this will define the order in which recipients will be allocated the remainder left over
14
145
  after an equal distribution is made.
15
146
  <para>
16
- This is not relevant if the total sum of money can be evenly distributed.
147
+ This is not relevant if the total sum of money can be fully distributed.
17
148
  </para>
18
149
  </remarks>
19
150
  <example>
20
151
  The classic example is that of a three-way split on a US dollar; after we
21
- allocate each recipient 33 cents we have a cent left over. In this case the <see cref="T:NMoneys.Allocators.IRemainderAllocator"/>
152
+ allocate each recipient 33 cents we have a cent left over. In this case the <see cref="T:NMoneys.Allocations.IRemainderAllocator"/>
22
153
  will determine which recipient gets that extra penny.
23
154
  </example>
24
155
  </member>
25
- <member name="M:NMoneys.Allocators.IRemainderAllocator.Allocate(NMoneys.Money,System.Collections.Generic.IList{System.Decimal})">
156
+ <member name="M:NMoneys.Allocations.IRemainderAllocator.Allocate(NMoneys.Allocations.Allocation)">
26
157
  <summary>
27
158
  Allocates the remainder after allocating the highest fair amount amongst all the recipients.
28
159
  </summary>
29
160
  <remarks>
30
- At the end of the distribution, the sum of the amounts of <paramref name="alreadyAllocated"/> must be equal to the original amount to allocate.
31
- <para>Implementors will increase the amounts of <paramref name="alreadyAllocated"/> according to whichever strategy is chosen to distribute the <paramref name="remainder"/>.</para>
32
- <para>It may not be called at all if the money can be evently distributed in <see cref="M:NMoneys.Money.Allocate(System.Int32,NMoneys.Allocators.IRemainderAllocator)"/>.</para>
161
+ At the end of the distribution, the resulting allocation should, most of the times, be complete (nothing else to allocate).
162
+ But it does not have to be like that. If the remaining amount is too small to be allocated, it will remain a remainder.
163
+ <para>Implementors will increase the amounts used to generate the returning <see cref="T:NMoneys.Allocations.Allocation"/> according to whichever strategy is chosen to distribute the remainder of <paramref name="allocationSoFar"/>.</para>
164
+ <para>It may not be called at all if the money can be evenly distributed in <see cref="M:NMoneys.Money.Allocate(System.Int32)"/> or <see cref="M:NMoneys.Money.Allocate(NMoneys.Allocations.RatioCollection)"/>.</para>
33
165
  </remarks>
34
- <param name="remainder">The remainder amount that might need to be allocated or <see cref="M:NMoneys.Money.Zero"/> if no remainder.</param>
35
- <param name="alreadyAllocated">An array representing the evenly allocated amounts.
36
- Its amounts will be modified according to the strategy chosen to allocate the <paramref name="remainder"/>.</param>
166
+ <param name="allocationSoFar">Contains the remainder amount that might need to be allocated or <see cref="M:NMoneys.Money.Zero"/> if no remainder is left.
167
+ <para>It also contains the evenly allocated amounts (if any).</para>
168
+ </param>
169
+ <returns>A new instance of <see cref="T:NMoneys.Allocations.Allocation"/> whose results are modified according to the strategy chosen to allocate the <see cref="P:NMoneys.Allocations.Allocation.Remainder"/>.</returns>
37
170
  </member>
38
- <member name="M:NMoneys.Allocators.RemainderAllocatorBase.apply(NMoneys.Money@,System.Collections.Generic.IList{System.Decimal},System.Int32)">
171
+ <member name="M:NMoneys.Allocations.RemainderAllocatorBase.apply(NMoneys.Allocations.Allocation,System.Int32)">
39
172
  <summary>
40
173
  Distributes the minimal amount to the specified result.
41
174
  </summary>
175
+ <remarks>Immutable operation: creates other instance of allocation.</remarks>
176
+ </member>
177
+ <member name="T:NMoneys.Allocations.Ratio">
178
+ <summary>
179
+ Represents an allocation ratio, that is, a fraction.
180
+ </summary>
181
+ </member>
182
+ <member name="M:NMoneys.Allocations.Ratio.#ctor(System.Decimal)">
183
+ <summary>
184
+ Initializes a new instance of <see cref="T:NMoneys.Allocations.Ratio"/> to the value of the specified <see cref="T:System.Decimal"/>.
185
+ </summary>
186
+ <remarks>The <paramref name="value"/> must represent a value between 0 and 1.</remarks>
187
+ <param name="value">The value to represent as a <see cref="T:NMoneys.Allocations.Ratio"/>.</param>
188
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="value"/> does not fall in the range [0..1]</exception>
189
+ </member>
190
+ <member name="M:NMoneys.Allocations.Ratio.ToString">
191
+ <summary>
192
+ Converts the numeric value of this instance to its equivalent string representation.
193
+ </summary>
194
+ <returns>
195
+ A string that represents the value of this instance.
196
+ </returns>
197
+ </member>
198
+ <member name="M:NMoneys.Allocations.Ratio.ToString(System.String,System.IFormatProvider)">
199
+ <summary>
200
+ Formats the value of the current instance using the specified format.
201
+ </summary>
202
+ <returns>A <see cref="T:System.String"/> containing the value of the current instance in the specified format.</returns>
203
+ <param name="format">The <see cref="T:System.String"/> specifying the format to use.
204
+ -or-
205
+ null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
206
+ </param>
207
+ <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
208
+ -or-
209
+ null to obtain the numeric format information from the current locale setting of the operating system.
210
+ </param>
211
+ </member>
212
+ <member name="M:NMoneys.Allocations.Ratio.Equals(NMoneys.Allocations.Ratio)">
213
+ <summary>
214
+ Indicates whether the current object is equal to another object of the same type.
215
+ </summary>
216
+ <returns>
217
+ true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
218
+ </returns>
219
+ <param name="other">An <see cref="T:NMoneys.Allocations.Ratio"/> to compare with this object.</param>
220
+ </member>
221
+ <member name="M:NMoneys.Allocations.Ratio.Equals(System.Object)">
222
+ <summary>
223
+ Indicates whether this instance and a specified object are equal.
224
+ </summary>
225
+ <returns>
226
+ true if <paramref name="obj"/> and this instance are the same type and represent the same value; otherwise, false.
227
+ </returns>
228
+ <param name="obj">Another object to compare to.</param>
229
+ </member>
230
+ <member name="M:NMoneys.Allocations.Ratio.GetHashCode">
231
+ <summary>
232
+ Returns the hash code for this instance.
233
+ </summary>
234
+ <returns>
235
+ A 32-bit signed integer that is the hash code for this instance.
236
+ </returns>
237
+ </member>
238
+ <member name="M:NMoneys.Allocations.Ratio.CompareTo(NMoneys.Allocations.Ratio)">
239
+ <summary>
240
+ Compares the current object with another object of the same type.
241
+ </summary>
242
+ <returns>
243
+ A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings:
244
+ <list type="table">
245
+ <listheader>
246
+ <term>Value</term>
247
+ <description>Meaning</description>
248
+ </listheader>
249
+ <item>
250
+ <term>Less than zero</term>
251
+ <description>This instance is less than <paramref name="other"/>.</description>
252
+ </item>
253
+ <item>
254
+ <term>Zero</term>
255
+ <description>This instance is equal to <paramref name="other"/>.</description>
256
+ </item>
257
+ <item>
258
+ <term>Greater than zero</term>
259
+ <description>This instance is greater than <paramref name="other"/>.</description>
260
+ </item>
261
+ </list>
262
+ </returns>
263
+ <param name="other">An object to compare with this object.</param>
264
+ </member>
265
+ <member name="M:NMoneys.Allocations.Ratio.ApplyTo(System.Decimal)">
266
+ <summary>
267
+ Applies (multiplies) the ratio to the specified <paramref name="amount"/>.
268
+ </summary>
269
+ <param name="amount">A decimal amount.</param>
270
+ <returns>The result of multiplying <paramref name="amount"/> by <see cref="P:NMoneys.Allocations.Ratio.Value"/>.</returns>
271
+ </member>
272
+ <member name="P:NMoneys.Allocations.Ratio.Value">
273
+ <summary>
274
+ Fraction
275
+ </summary>
276
+ </member>
277
+ <member name="T:NMoneys.Allocations.RatioCollection">
278
+ <summary>
279
+ Maintains a list of ratios suitable for use in an allocation when the
280
+ sum of all items is exactly equal to one (100%).
281
+ </summary>
282
+ </member>
283
+ <member name="M:NMoneys.Allocations.RatioCollection.#ctor(System.Decimal[])">
284
+ <summary>
285
+ Initializes a new instance of <see cref="T:NMoneys.Allocations.RatioCollection"/> with the specified ratio values.
286
+ </summary>
287
+ <remarks>This is a helper constructor due to the verbosity of <see cref="T:NMoneys.Allocations.Ratio"/> construction.</remarks>
288
+ <param name="ratioValues">A collection of ratio values.</param>
289
+ <exception cref="T:System.ArgumentNullException"><paramref name="ratioValues"/> is null.</exception>
290
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="ratioValues"/> do not sum up one
291
+ -or-
292
+ any of the values does not fall in the range [0..1].
293
+ .</exception>
294
+ </member>
295
+ <member name="M:NMoneys.Allocations.RatioCollection.#ctor(NMoneys.Allocations.Ratio[])">
296
+ <summary>
297
+ Initializes a new instance of <see cref="T:NMoneys.Allocations.RatioCollection"/> with the specified <paramref name="ratios"/>.
298
+ </summary>
299
+ <param name="ratios">A collection of ratios</param>
300
+ <exception cref="T:System.ArgumentNullException"><paramref name="ratios"/> is null.</exception>
301
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="ratios"/> do not sum up one.</exception>
302
+ </member>
303
+ <member name="M:NMoneys.Allocations.RatioCollection.GetEnumerator">
304
+ <summary>
305
+ Returns an enumerator that iterates through the collection.
306
+ </summary>
307
+ <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.</returns>
308
+ </member>
309
+ <member name="M:NMoneys.Allocations.RatioCollection.System#Collections#IEnumerable#GetEnumerator">
310
+ <summary>
311
+ Returns an enumerator that iterates through a collection.
312
+ </summary>
313
+ <returns>An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.</returns>
314
+ </member>
315
+ <member name="M:NMoneys.Allocations.RatioCollection.ToString">
316
+ <summary>
317
+ Returns a <see cref="T:System.String"/> that represents the current <see cref="T:NMoneys.Allocations.RatioCollection"/>.
318
+ </summary>
319
+ <returns>
320
+ A <see cref="T:System.String"/> that represents the current <see cref="T:NMoneys.Allocations.RatioCollection"/>.
321
+ </returns>
322
+ </member>
323
+ <member name="M:NMoneys.Allocations.RatioCollection.ToString(System.String,System.IFormatProvider)">
324
+ <summary>
325
+ Formats the value of the current instance using the specified format.
326
+ </summary>
327
+ <remarks><paramref name="format"/> and <paramref name="formatProvider"/> are used to format each ratio in the bag.</remarks>
328
+ <returns>A <see cref="T:System.String"/> containing the value of the current instance in the specified format.</returns>
329
+ <param name="format">The <see cref="T:System.String"/> specifying the format to use.
330
+ -or-
331
+ null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation.
332
+ </param>
333
+ <param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.
334
+ -or-
335
+ null to obtain the numeric format information from the current locale setting of the operating system.
336
+ </param>
337
+ </member>
338
+ <member name="P:NMoneys.Allocations.RatioCollection.Count">
339
+ <summary>
340
+ Gets a 32-bit integer that represents the total number of ratios in the <see cref="T:NMoneys.Allocations.RatioCollection"/>.
341
+ </summary>
342
+ <returns>A 32-bit integer that represents the total number of ratios in the <see cref="T:NMoneys.Allocations.RatioCollection"/>.</returns>
343
+ </member>
344
+ <member name="P:NMoneys.Allocations.RatioCollection.Item(System.Int32)">
345
+ <summary>
346
+ Gets the ratio at the specified index.
347
+ </summary>
348
+ <param name="index">The index of the ratio to get.</param>
349
+ <returns>The ratio at the specified index.</returns>
350
+ <exception cref="T:System.ArgumentOutOfRangeException">index is less than zero.
351
+ -or-
352
+ index is equal to or greater than <see cref="P:NMoneys.Allocations.RatioCollection.Count"/>.</exception>
42
353
  </member>
43
354
  <member name="M:NMoneys.PowerOfTen.Positive(NMoneys.Currency)">
44
355
  <summary>
@@ -1947,229 +2258,229 @@
1947
2258
  </member>
1948
2259
  <member name="M:NMoneys.Extensions.MoneyExtensions.Aud(System.Decimal)">
1949
2260
  <summary>
1950
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2261
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
1951
2262
  </summary>
1952
2263
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
1953
2264
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Aud"/>.</returns>
1954
2265
  </member>
1955
2266
  <member name="M:NMoneys.Extensions.MoneyExtensions.Cad(System.Decimal)">
1956
2267
  <summary>
1957
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2268
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
1958
2269
  </summary>
1959
2270
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
1960
2271
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Cad"/>.</returns>
1961
2272
  </member>
1962
2273
  <member name="M:NMoneys.Extensions.MoneyExtensions.Chf(System.Decimal)">
1963
2274
  <summary>
1964
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2275
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
1965
2276
  </summary>
1966
2277
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
1967
2278
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Chf"/>.</returns>
1968
2279
  </member>
1969
2280
  <member name="M:NMoneys.Extensions.MoneyExtensions.Cny(System.Decimal)">
1970
2281
  <summary>
1971
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2282
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
1972
2283
  </summary>
1973
2284
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
1974
2285
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Cny"/>.</returns>
1975
2286
  </member>
1976
2287
  <member name="M:NMoneys.Extensions.MoneyExtensions.Dkk(System.Decimal)">
1977
2288
  <summary>
1978
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2289
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
1979
2290
  </summary>
1980
2291
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
1981
2292
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Dkk"/>.</returns>
1982
2293
  </member>
1983
2294
  <member name="M:NMoneys.Extensions.MoneyExtensions.Eur(System.Decimal)">
1984
2295
  <summary>
1985
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2296
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
1986
2297
  </summary>
1987
2298
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
1988
2299
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Eur"/>.</returns>
1989
2300
  </member>
1990
2301
  <member name="M:NMoneys.Extensions.MoneyExtensions.Gbp(System.Decimal)">
1991
2302
  <summary>
1992
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2303
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
1993
2304
  </summary>
1994
2305
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
1995
2306
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Gbp"/>.</returns>
1996
2307
  </member>
1997
2308
  <member name="M:NMoneys.Extensions.MoneyExtensions.Hkd(System.Decimal)">
1998
2309
  <summary>
1999
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2310
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2000
2311
  </summary>
2001
2312
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2002
2313
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Hkd"/>.</returns>
2003
2314
  </member>
2004
2315
  <member name="M:NMoneys.Extensions.MoneyExtensions.Huf(System.Decimal)">
2005
2316
  <summary>
2006
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2317
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2007
2318
  </summary>
2008
2319
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2009
2320
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Huf"/>.</returns>
2010
2321
  </member>
2011
2322
  <member name="M:NMoneys.Extensions.MoneyExtensions.Inr(System.Decimal)">
2012
2323
  <summary>
2013
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2324
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2014
2325
  </summary>
2015
2326
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2016
2327
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Inr"/>.</returns>
2017
2328
  </member>
2018
2329
  <member name="M:NMoneys.Extensions.MoneyExtensions.Jpy(System.Decimal)">
2019
2330
  <summary>
2020
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2331
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2021
2332
  </summary>
2022
2333
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2023
2334
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Jpy"/>.</returns>
2024
2335
  </member>
2025
2336
  <member name="M:NMoneys.Extensions.MoneyExtensions.Mxn(System.Decimal)">
2026
2337
  <summary>
2027
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2338
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2028
2339
  </summary>
2029
2340
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2030
2341
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Mxn"/>.</returns>
2031
2342
  </member>
2032
2343
  <member name="M:NMoneys.Extensions.MoneyExtensions.Myr(System.Decimal)">
2033
2344
  <summary>
2034
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2345
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2035
2346
  </summary>
2036
2347
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2037
2348
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Myr"/>.</returns>
2038
2349
  </member>
2039
2350
  <member name="M:NMoneys.Extensions.MoneyExtensions.Nok(System.Decimal)">
2040
2351
  <summary>
2041
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2352
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2042
2353
  </summary>
2043
2354
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2044
2355
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Nok"/>.</returns>
2045
2356
  </member>
2046
2357
  <member name="M:NMoneys.Extensions.MoneyExtensions.Nzd(System.Decimal)">
2047
2358
  <summary>
2048
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2359
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2049
2360
  </summary>
2050
2361
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2051
2362
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Nzd"/>.</returns>
2052
2363
  </member>
2053
2364
  <member name="M:NMoneys.Extensions.MoneyExtensions.Rub(System.Decimal)">
2054
2365
  <summary>
2055
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2366
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2056
2367
  </summary>
2057
2368
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2058
2369
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Rub"/>.</returns>
2059
2370
  </member>
2060
2371
  <member name="M:NMoneys.Extensions.MoneyExtensions.Sek(System.Decimal)">
2061
2372
  <summary>
2062
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2373
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2063
2374
  </summary>
2064
2375
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2065
2376
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Sek"/>.</returns>
2066
2377
  </member>
2067
2378
  <member name="M:NMoneys.Extensions.MoneyExtensions.Sgd(System.Decimal)">
2068
2379
  <summary>
2069
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2380
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2070
2381
  </summary>
2071
2382
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2072
2383
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Sgd"/>.</returns>
2073
2384
  </member>
2074
2385
  <member name="M:NMoneys.Extensions.MoneyExtensions.Thb(System.Decimal)">
2075
2386
  <summary>
2076
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2387
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2077
2388
  </summary>
2078
2389
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2079
2390
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Thb"/>.</returns>
2080
2391
  </member>
2081
2392
  <member name="M:NMoneys.Extensions.MoneyExtensions.Usd(System.Decimal)">
2082
2393
  <summary>
2083
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2394
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2084
2395
  </summary>
2085
2396
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2086
2397
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Usd"/>.</returns>
2087
2398
  </member>
2088
2399
  <member name="M:NMoneys.Extensions.MoneyExtensions.Zar(System.Decimal)">
2089
2400
  <summary>
2090
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2401
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2091
2402
  </summary>
2092
2403
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2093
2404
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Zar"/>.</returns>
2094
2405
  </member>
2095
2406
  <member name="M:NMoneys.Extensions.MoneyExtensions.Xxx(System.Decimal)">
2096
2407
  <summary>
2097
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2408
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2098
2409
  </summary>
2099
2410
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2100
2411
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Xxx"/>.</returns>
2101
2412
  </member>
2102
2413
  <member name="M:NMoneys.Extensions.MoneyExtensions.Xts(System.Decimal)">
2103
2414
  <summary>
2104
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2415
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2105
2416
  </summary>
2106
2417
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2107
2418
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Xts"/>.</returns>
2108
2419
  </member>
2109
2420
  <member name="M:NMoneys.Extensions.MoneyExtensions.Euros(System.Decimal)">
2110
2421
  <summary>
2111
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2422
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2112
2423
  </summary>
2113
2424
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2114
2425
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Euro"/>.</returns>
2115
2426
  </member>
2116
2427
  <member name="M:NMoneys.Extensions.MoneyExtensions.Dollars(System.Decimal)">
2117
2428
  <summary>
2118
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2429
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2119
2430
  </summary>
2120
2431
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2121
2432
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Dollar"/>.</returns>
2122
2433
  </member>
2123
2434
  <member name="M:NMoneys.Extensions.MoneyExtensions.Pounds(System.Decimal)">
2124
2435
  <summary>
2125
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2436
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2126
2437
  </summary>
2127
2438
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2128
2439
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Pound"/>.</returns>
2129
2440
  </member>
2130
2441
  <member name="M:NMoneys.Extensions.MoneyExtensions.Lerus(System.Decimal)">
2131
2442
  <summary>
2132
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2443
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2133
2444
  </summary>
2134
2445
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2135
2446
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Eur"/>.</returns>
2136
2447
  </member>
2137
2448
  <member name="M:NMoneys.Extensions.MoneyExtensions.Bucks(System.Decimal)">
2138
2449
  <summary>
2139
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2450
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2140
2451
  </summary>
2141
2452
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2142
2453
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Usd"/>.</returns>
2143
2454
  </member>
2144
2455
  <member name="M:NMoneys.Extensions.MoneyExtensions.Quid(System.Decimal)">
2145
2456
  <summary>
2146
- Creates an <see cref="T:NMoneys.Money"/> instance with the specified NMoneys.Currency.
2457
+ Creates an <see cref="T:NMoneys.Money"/> instance with the specified Currency.
2147
2458
  </summary>
2148
2459
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2149
2460
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <see cref="F:NMoneys.Currency.Gbp"/>.</returns>
2150
2461
  </member>
2151
2462
  <member name="M:NMoneys.Extensions.MoneyExtensions.ToMoney(NMoneys.CurrencyIsoCode,System.Decimal)">
2152
- <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and NMoneys.Currency.</summary>
2463
+ <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and Currency.</summary>
2153
2464
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2154
2465
  <param name="currency">The <see cref="P:NMoneys.Money.CurrencyCode"/> of the monetary quantity.</param>
2155
2466
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <paramref name="currency"/>.</returns>
2156
2467
  <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,NMoneys.CurrencyIsoCode)"/>
2157
2468
  </member>
2158
2469
  <member name="M:NMoneys.Extensions.MoneyExtensions.ToMoney(System.Decimal)">
2159
- <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and unspecified NMoneys.Currency.</summary>
2470
+ <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and unspecified Currency.</summary>
2160
2471
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2161
2472
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and unspecified currency (<see cref="F:NMoneys.CurrencyIsoCode.XXX"/>).</returns>
2162
2473
  <seealso cref="M:NMoneys.Money.#ctor(System.Decimal)"/>
2163
2474
  </member>
2164
2475
  <member name="M:NMoneys.Extensions.MoneyExtensions.ToMoney(System.Decimal,NMoneys.CurrencyIsoCode)">
2165
- <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and NMoneys.Currency.</summary>
2476
+ <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and Currency.</summary>
2166
2477
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2167
2478
  <param name="currency">The <see cref="P:NMoneys.Money.CurrencyCode"/> of the monetary quantity.</param>
2168
2479
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <paramref name="currency"/>.</returns>
2169
2480
  <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,NMoneys.CurrencyIsoCode)"/>
2170
2481
  </member>
2171
2482
  <member name="M:NMoneys.Extensions.MoneyExtensions.ToMoney(System.Decimal,NMoneys.Currency)">
2172
- <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and NMoneys.Currency.</summary>
2483
+ <summary>Creates a <see cref="T:NMoneys.Money"/> instance with the specified amount and Currency.</summary>
2173
2484
  <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of the monetary quantity.</param>
2174
2485
  <param name="currency">The incarnation of the <see cref="P:NMoneys.Money.CurrencyCode"/>.</param>
2175
2486
  <returns>A <see cref="T:NMoneys.Money"/> with the specified <paramref name="amount"/> and <paramref name="currency"/>.</returns>
@@ -2191,11 +2502,11 @@
2191
2502
  amount and <paramref name="currency"/>.</returns>
2192
2503
  <seealso cref="M:NMoneys.Extensions.MoneyExtensions.ToMoney(System.Decimal,NMoneys.Currency)"/>
2193
2504
  </member>
2194
- <member name="M:NMoneys.Extensions.MoneyExtensions.Currency(NMoneys.Money)">
2505
+ <member name="M:NMoneys.Extensions.MoneyExtensions.GetCurrency(NMoneys.Money)">
2195
2506
  <summary>
2196
2507
  The currency instance of <paramref name="money"/>.
2197
2508
  </summary>
2198
- <returns>The instance of <see cref="M:NMoneys.Extensions.MoneyExtensions.Currency(NMoneys.Money)"/> represented by <see cref="P:NMoneys.Money.CurrencyCode"/>.</returns>
2509
+ <returns>The instance of <see cref="T:NMoneys.Currency"/> represented by <see cref="P:NMoneys.Money.CurrencyCode"/>.</returns>
2199
2510
  </member>
2200
2511
  <member name="T:NMoneys.CharacterReference">
2201
2512
  <summary>
@@ -2343,7 +2654,7 @@
2343
2654
  </member>
2344
2655
  <member name="T:NMoneys.RemainderAllocator">
2345
2656
  <summary>
2346
- Factory class for provided implementations of <see cref="T:NMoneys.Allocators.IRemainderAllocator"/>
2657
+ Factory class for provided implementations of <see cref="T:NMoneys.Allocations.IRemainderAllocator"/>
2347
2658
  </summary>
2348
2659
  </member>
2349
2660
  <member name="F:NMoneys.RemainderAllocator.FirstToLast">
@@ -2374,8 +2685,8 @@
2374
2685
  <remarks>
2375
2686
  In the case of the dollar split three ways randomly, the recipient that gets the extra penny is indeterminate.
2376
2687
  <para>
2377
- This <see cref="T:NMoneys.Allocators.IRemainderAllocator"/> is much slower than either <see cref="T:NMoneys.Allocators.FirstToLastAllocator"/>
2378
- or <see cref="T:NMoneys.Allocators.LastToFirstAllocator"/>. In addition, this particular implementation *could* arguably
2688
+ This <see cref="T:NMoneys.Allocations.IRemainderAllocator"/> is much slower than either <see cref="T:NMoneys.Allocations.FirstToLastAllocator"/>
2689
+ or <see cref="T:NMoneys.Allocations.LastToFirstAllocator"/>. In addition, this particular implementation *could* arguably
2379
2690
  be made even more random. See the referenced links for some other implementation ideas that might
2380
2691
  enhance perf and/or randomness.
2381
2692
  </para>
@@ -2623,6 +2934,18 @@
2623
2934
  <param name="currency">The <see cref="P:NMoneys.Money.CurrencyCode"/> of the monetary quantity.</param>
2624
2935
  <returns>An <see cref="T:NMoneys.Money"/> instance with zero <see cref="P:NMoneys.Money.Amount"/> and the specified <paramref name="currency"/>.</returns>
2625
2936
  <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,NMoneys.CurrencyIsoCode)"/>
2937
+ <exception cref="T:System.ComponentModel.InvalidEnumArgumentException"><paramref name="currency"/> is not defined.</exception>
2938
+ </member>
2939
+ <member name="M:NMoneys.Money.Zero(NMoneys.CurrencyIsoCode,System.Int32)">
2940
+ <summary>
2941
+ Creates and initializes an array of <see cref="T:NMoneys.Money"/> with <see cref="F:System.Decimal.Zero"/> quantity and the specified currency.
2942
+ </summary>
2943
+ <param name="currency">The <see cref="P:NMoneys.Money.CurrencyCode"/> of each monetary quantity.</param>
2944
+ <param name="numberOfElements">The number of elements in the array.</param>
2945
+ <returns>An array of <see cref="T:NMoneys.Money"/> instances with zero <see cref="P:NMoneys.Money.Amount"/> and the specified <paramref name="currency"/>.</returns>
2946
+ <seealso cref="M:NMoneys.Money.Zero(NMoneys.CurrencyIsoCode)"/>
2947
+ <exception cref="T:System.ComponentModel.InvalidEnumArgumentException"><paramref name="currency"/> is not defined.</exception>
2948
+ <exception cref="T:System.OverflowException"><paramref name="numberOfElements"/> is not a valid array length.</exception>
2626
2949
  </member>
2627
2950
  <member name="M:NMoneys.Money.Zero(NMoneys.Currency)">
2628
2951
  <summary>
@@ -2631,6 +2954,18 @@
2631
2954
  <param name="currency">The incarnation of the <see cref="P:NMoneys.Money.CurrencyCode"/>.</param>
2632
2955
  <returns>An <see cref="T:NMoneys.Money"/> instance with zero <see cref="P:NMoneys.Money.Amount"/> and the specified <paramref name="currency"/>.</returns>
2633
2956
  <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,NMoneys.Currency)"/>
2957
+ <exception cref="T:System.ArgumentNullException"><paramref name="currency"/> is null.</exception>
2958
+ </member>
2959
+ <member name="M:NMoneys.Money.Zero(NMoneys.Currency,System.Int32)">
2960
+ <summary>
2961
+ Creates and initializes an array of <see cref="T:NMoneys.Money"/> with <see cref="F:System.Decimal.Zero"/> quantity and the specified currency.
2962
+ </summary>
2963
+ <param name="currency">The incarnation of the <see cref="P:NMoneys.Money.CurrencyCode"/> for each monetary quantity.</param>
2964
+ <param name="numberOfElements">The number of elements in the array.</param>
2965
+ <returns>An array of <see cref="T:NMoneys.Money"/> instances with zero <see cref="P:NMoneys.Money.Amount"/> and the specified <paramref name="currency"/>.</returns>
2966
+ <seealso cref="M:NMoneys.Money.Zero(NMoneys.Currency)"/>
2967
+ <exception cref="T:System.ArgumentNullException"><paramref name="currency"/> is null.</exception>
2968
+ <exception cref="T:System.OverflowException"><paramref name="numberOfElements"/> is not a valid array length.</exception>
2634
2969
  </member>
2635
2970
  <member name="M:NMoneys.Money.Zero(System.String)">
2636
2971
  <summary>
@@ -2639,6 +2974,20 @@
2639
2974
  <param name="threeLetterIsoCode">Textual representation of the ISO 4217 <see cref="P:NMoneys.Money.CurrencyCode"/>.</param>
2640
2975
  <returns>An <see cref="T:NMoneys.Money"/> instance with zero <see cref="P:NMoneys.Money.Amount"/> and the specified <paramref name="threeLetterIsoCode"/>.</returns>
2641
2976
  <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,System.String)"/>
2977
+ <exception cref="T:System.ArgumentNullException"><paramref name="threeLetterIsoCode"/> is null.</exception>
2978
+ <exception cref="T:System.ComponentModel.InvalidEnumArgumentException"><paramref name="threeLetterIsoCode"/> is not defined.</exception>
2979
+ </member>
2980
+ <member name="M:NMoneys.Money.Zero(System.String,System.Int32)">
2981
+ <summary>
2982
+ Creates and initializes an array of <see cref="T:NMoneys.Money"/> with <see cref="F:System.Decimal.Zero"/> quantity and the specified currency.
2983
+ </summary>
2984
+ <param name="threeLetterIsoCode">Textual representation of the ISO 4217 <see cref="P:NMoneys.Money.CurrencyCode"/> for each monetary quantity.</param>
2985
+ <param name="numberOfElements">The number of elements in the array.</param>
2986
+ <returns>An array of <see cref="T:NMoneys.Money"/> instances with zero <see cref="P:NMoneys.Money.Amount"/> and the specified <paramref name="threeLetterIsoCode"/>.</returns>
2987
+ <seealso cref="M:NMoneys.Money.Zero(System.String)"/>
2988
+ <exception cref="T:System.OverflowException"><paramref name="numberOfElements"/> is not a valid array length.</exception>
2989
+ <exception cref="T:System.ArgumentNullException"><paramref name="threeLetterIsoCode"/> is null.</exception>
2990
+ <exception cref="T:System.ComponentModel.InvalidEnumArgumentException"><paramref name="threeLetterIsoCode"/> is not defined.</exception>
2642
2991
  </member>
2643
2992
  <member name="M:NMoneys.Money.ForMajor(System.Int64)">
2644
2993
  <summary>
@@ -2753,6 +3102,43 @@
2753
3102
  <exception cref="T:System.ArgumentException"><paramref name="moneys"/> is empty.</exception>
2754
3103
  <exception cref="T:NMoneys.DifferentCurrencyException">If any of the currencies of <paramref name="moneys"/> differ.</exception>
2755
3104
  </member>
3105
+ <member name="M:NMoneys.Money.Some(System.Decimal,NMoneys.CurrencyIsoCode,System.Int32)">
3106
+ <summary>
3107
+ Creates and initializes an array of <see cref="T:NMoneys.Money"/> with <paramref name="amount"/> quantity and the specified currency.
3108
+ </summary>
3109
+ <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of each monetary quantity.</param>
3110
+ <param name="currency">The <see cref="P:NMoneys.Money.CurrencyCode"/> of each monetary quantity.</param>
3111
+ <param name="numberOfElements">The number of elements in the array.</param>
3112
+ <returns>An array of <see cref="T:NMoneys.Money"/> instances with <paramref name="amount"/> and the specified <paramref name="currency"/>.</returns>
3113
+ <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,NMoneys.CurrencyIsoCode)"/>
3114
+ <exception cref="T:System.ComponentModel.InvalidEnumArgumentException"><paramref name="currency"/> is not defined.</exception>
3115
+ <exception cref="T:System.OverflowException"><paramref name="numberOfElements"/> is not a valid array length.</exception>
3116
+ </member>
3117
+ <member name="M:NMoneys.Money.Some(System.Decimal,NMoneys.Currency,System.Int32)">
3118
+ <summary>
3119
+ Creates and initializes an array of <see cref="T:NMoneys.Money"/> with <paramref name="amount"/> quantity and the specified currency.
3120
+ </summary>
3121
+ <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of each monetary quantity.</param>
3122
+ <param name="currency">The incarnation of the <see cref="P:NMoneys.Money.CurrencyCode"/> for each monetary quantity.</param>
3123
+ <param name="numberOfElements">The number of elements in the array.</param>
3124
+ <returns>An array of <see cref="T:NMoneys.Money"/> instances with <paramref name="amount"/> and the specified <paramref name="currency"/>.</returns>
3125
+ <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,NMoneys.Currency)"/>
3126
+ <exception cref="T:System.ComponentModel.InvalidEnumArgumentException"><paramref name="currency"/> is not defined.</exception>
3127
+ <exception cref="T:System.OverflowException"><paramref name="numberOfElements"/> is not a valid array length.</exception>
3128
+ </member>
3129
+ <member name="M:NMoneys.Money.Some(System.Decimal,System.String,System.Int32)">
3130
+ <summary>
3131
+ Creates and initializes an array of <see cref="T:NMoneys.Money"/> with <paramref name="amount"/> quantity and the specified currency.
3132
+ </summary>
3133
+ <param name="amount">The <see cref="P:NMoneys.Money.Amount"/> of each monetary quantity.</param>
3134
+ <param name="threeLetterIsoCode">Textual representation of the ISO 4217 <see cref="P:NMoneys.Money.CurrencyCode"/> for each monetary quantity.</param>
3135
+ <param name="numberOfElements">The number of elements in the array.</param>
3136
+ <returns>An array of <see cref="T:NMoneys.Money"/> instances with <paramref name="amount"/> and the specified <paramref name="threeLetterIsoCode"/>.</returns>
3137
+ <seealso cref="M:NMoneys.Money.#ctor(System.Decimal,System.String)"/>
3138
+ <exception cref="T:System.OverflowException"><paramref name="numberOfElements"/> is not a valid array length.</exception>
3139
+ <exception cref="T:System.ArgumentNullException"><paramref name="threeLetterIsoCode"/> is null.</exception>
3140
+ <exception cref="T:System.ComponentModel.InvalidEnumArgumentException"><paramref name="threeLetterIsoCode"/> is not defined.</exception>
3141
+ </member>
2756
3142
  <member name="F:NMoneys.Money._currencyCode">
2757
3143
  <summary>
2758
3144
  DO NOT USE the field directly. Use <see cref="P:NMoneys.Money.CurrencyCode"/>.
@@ -3055,12 +3441,27 @@
3055
3441
  <param name="money"><see cref="T:NMoneys.Money"/> instance to check against.</param>
3056
3442
  <returns>true if <see cref="P:NMoneys.Money.CurrencyCode"/> is equal to <paramref name="money"/>'s; otherwise, false.</returns>
3057
3443
  </member>
3444
+ <member name="M:NMoneys.Money.HasSameCurrencyAs(System.Collections.Generic.IEnumerable{NMoneys.Money})">
3445
+ <summary>
3446
+ Returns a value indicating whether each of the <paramref name="moneys"/> has the same currency as the instance.
3447
+ </summary>
3448
+ <param name="moneys">Collection of <see cref="T:NMoneys.Money"/> instances to check against.</param>
3449
+ <returns>true if <see cref="P:NMoneys.Money.CurrencyCode"/> is equal to each of <paramref name="moneys"/>'s; otherwise, false.</returns>
3450
+ <exception cref="T:System.ArgumentNullException"><paramref name="moneys"/> is null.</exception>
3451
+ </member>
3058
3452
  <member name="M:NMoneys.Money.AssertSameCurrency(NMoneys.Money)">
3059
3453
  <summary>
3060
3454
  Checks whether the <paramref name="money"/> has the same currency as the instance, throwing an exception if that is not the case.
3061
3455
  </summary>
3062
3456
  <param name="money"><see cref="T:NMoneys.Money"/> instance to check against.</param>
3063
- <exception cref="T:NMoneys.DifferentCurrencyException"></exception>
3457
+ <exception cref="T:NMoneys.DifferentCurrencyException"><paramref name="money"/> has a different currency from the instance's.</exception>
3458
+ </member>
3459
+ <member name="M:NMoneys.Money.AssertSameCurrency(System.Collections.Generic.IEnumerable{NMoneys.Money})">
3460
+ <summary>
3461
+ Checks whether each of the <paramref name="moneys"/> has the same currency as the instance, throwing an exception if that is not the case.
3462
+ </summary>
3463
+ <param name="moneys">Collection of <see cref="T:NMoneys.Money"/> instance to check against.</param>
3464
+ <exception cref="T:NMoneys.DifferentCurrencyException">At least one of the <paramref name="moneys"/> has a different currency from the instance's.</exception>
3064
3465
  </member>
3065
3466
  <member name="M:NMoneys.Money.op_UnaryNegation(NMoneys.Money)">
3066
3467
  <summary>
@@ -3289,7 +3690,20 @@
3289
3690
  <returns>a <see cref="T:NMoneys.Money"/> with <see cref="P:NMoneys.Money.Amount"/> as the result of applying <paramref name="unaryOperation"/> to the previous <see cref="P:NMoneys.Money.Amount"/>.</returns>
3290
3691
  <exception cref="T:System.ArgumentNullException"><paramref name="unaryOperation"/> is null.</exception>
3291
3692
  </member>
3292
- <member name="M:NMoneys.Money.Allocate(System.Int32,NMoneys.Allocators.IRemainderAllocator)">
3693
+ <member name="M:NMoneys.Money.Allocate(System.Int32)">
3694
+ <summary>
3695
+ Allocates the sum of money fully and 'fairly', delegating the distribution to a default allocator
3696
+ </summary>
3697
+ <remarks>
3698
+ The default remainder allocation will be performed according to <see cref="F:NMoneys.RemainderAllocator.FirstToLast"/>.
3699
+ </remarks>
3700
+ <param name="numberOfRecipients">The number of times to split up the total.</param>
3701
+ <returns>The results of the allocation as an array with a length equal to <paramref name="numberOfRecipients"/>.</returns>
3702
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="numberOfRecipients"/> is less than 1 or more than <see cref="F:System.Int32.MaxValue"/>.</exception>
3703
+ <seealso cref="M:NMoneys.Money.Allocate(System.Int32,NMoneys.Allocations.IRemainderAllocator)"/>
3704
+ <seealso cref="T:NMoneys.Allocations.Allocation"/>
3705
+ </member>
3706
+ <member name="M:NMoneys.Money.Allocate(System.Int32,NMoneys.Allocations.IRemainderAllocator)">
3293
3707
  <summary>
3294
3708
  Allocates the sum of money fully and 'fairly', delegating the distribution of whichever remainder after
3295
3709
  allocating the highest fair amount amongst the recipients to the provided <paramref name="allocator"/>.
@@ -3306,10 +3720,33 @@
3306
3720
  of the currency represented by <see cref="P:NMoneys.Money.CurrencyCode"/>.</para>
3307
3721
  </remarks>
3308
3722
  <param name="numberOfRecipients">The number of times to split up the total.</param>
3309
- <param name="allocator">The <see cref="T:NMoneys.Allocators.IRemainderAllocator"/> that will distribute the remainder after an even split.</param>
3310
- <returns>The results of the allocation as an array with a length equal to <paramref name="numberOfRecipients"/>.</returns>
3311
- <exception cref="T:System.ArithmeticException">The <paramref name="allocator"/> did not distributed all the remainder.</exception>
3312
- <seealso cref="T:NMoneys.Allocators.IRemainderAllocator"/>
3723
+ <param name="allocator">The <see cref="T:NMoneys.Allocations.IRemainderAllocator"/> that will distribute the remainder after an even split.</param>
3724
+ <returns>The results of the allocation with a length equal to <paramref name="numberOfRecipients"/>.</returns>
3725
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="numberOfRecipients"/> is less than 1 or more than <see cref="F:System.Int32.MaxValue"/>.</exception>
3726
+ <seealso cref="T:NMoneys.Allocations.IRemainderAllocator"/>
3727
+ <seealso cref="T:NMoneys.Allocations.Allocation"/>
3728
+ </member>
3729
+ <member name="M:NMoneys.Money.Allocate(NMoneys.Allocations.RatioCollection,NMoneys.Allocations.IRemainderAllocator)">
3730
+ <summary>
3731
+ Allocates the sum of money as fully and 'fairly' as possible given the collection of ratios passed.
3732
+ </summary>
3733
+ <param name="ratios">The ratio collection.</param>
3734
+ <param name="allocator">The <see cref="T:NMoneys.Allocations.IRemainderAllocator"/> that will distribute the remainder after the split.</param>
3735
+ <returns>The results of the allocation with a length equal to <paramref name="ratios"/>.</returns>
3736
+ <seealso cref="T:NMoneys.Allocations.Allocation"/>
3737
+ <seealso cref="T:NMoneys.Allocations.IRemainderAllocator"/>
3738
+ </member>
3739
+ <member name="M:NMoneys.Money.Allocate(NMoneys.Allocations.RatioCollection)">
3740
+ <summary>
3741
+ Allocates the sum of money as fully and 'fairly' as possible given the collection of ratios passed.
3742
+ </summary>
3743
+ <remarks>
3744
+ The default remainder allocation will be performed according to <see cref="F:NMoneys.RemainderAllocator.FirstToLast"/>.
3745
+ </remarks>
3746
+ <param name="ratios">The ratio collection.</param>
3747
+ <returns>The results of the allocation with a length equal to <paramref name="ratios"/>.</returns>
3748
+ <seealso cref="M:NMoneys.Money.Allocate(NMoneys.Allocations.RatioCollection,NMoneys.Allocations.IRemainderAllocator)"/>
3749
+ <seealso cref="T:NMoneys.Allocations.Allocation"/>
3313
3750
  </member>
3314
3751
  <member name="M:NMoneys.Money.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
3315
3752
  <summary>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nmoneys
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0.0.20120213
4
+ version: 2.5.0.0.20120625
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-13 00:00:00.000000000 Z
12
+ date: 2012-06-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: NMoneys is an implementation of the Money Value Object to support representing
15
15
  moneys in the currencies defined in the ISO 4217 standard