0
|
1 //---------------------------------------------------------------------------------------------------
|
|
2 // <auto-generated>
|
|
3 // This code was generated by BLToolkit template for T4.
|
|
4 // Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
5 // </auto-generated>
|
|
6 //---------------------------------------------------------------------------------------------------
|
|
7 using System;
|
|
8 using System.Data.Linq;
|
|
9 using System.Data.SqlTypes;
|
|
10 using System.Globalization;
|
|
11 using System.IO;
|
|
12 using System.Xml;
|
|
13 #if !SILVERLIGHT
|
|
14 using System.Xml.Linq;
|
|
15 #endif
|
|
16
|
|
17 namespace BLToolkit.Common
|
|
18 {
|
|
19 using Properties;
|
|
20
|
|
21 public partial class Convert
|
|
22 {
|
|
23 #region Simple Types
|
|
24
|
|
25 #region Boolean
|
|
26
|
|
27 // Simple Types
|
|
28 //
|
|
29 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
30 public static Boolean ToBoolean(Byte p) { return p != 0; }
|
|
31 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
32 public static Boolean ToBoolean(Decimal p) { return p != 0; }
|
|
33 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
34 public static Boolean ToBoolean(Double p) { return p != 0; }
|
|
35 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
36 public static Boolean ToBoolean(Int16 p) { return p != 0; }
|
|
37 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
38 public static Boolean ToBoolean(Int32 p) { return p != 0; }
|
|
39 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
40 public static Boolean ToBoolean(Int64 p) { return p != 0; }
|
|
41 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
42 [CLSCompliant(false)]
|
|
43 public static Boolean ToBoolean(SByte p) { return p != 0; }
|
|
44 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
45 public static Boolean ToBoolean(Single p) { return p != 0; }
|
|
46 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
47 public static Boolean ToBoolean(String p) { return p == null? Configuration.NullableValues.Boolean : p.Length == 1 ? ToBoolean(p[0]) : Boolean.Parse(p); }
|
|
48 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
49 [CLSCompliant(false)]
|
|
50 public static Boolean ToBoolean(UInt16 p) { return p != 0; }
|
|
51 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
52 [CLSCompliant(false)]
|
|
53 public static Boolean ToBoolean(UInt32 p) { return p != 0; }
|
|
54 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
55 [CLSCompliant(false)]
|
|
56 public static Boolean ToBoolean(UInt64 p) { return p != 0; }
|
|
57
|
|
58 // Nullable Types
|
|
59 //
|
|
60 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
61 public static Boolean ToBoolean(Boolean? p) { return p.HasValue && p.Value; }
|
|
62 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
63 public static Boolean ToBoolean(Byte? p) { return p.HasValue && p.Value != 0; }
|
|
64 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
65 public static Boolean ToBoolean(Char? p) { return p.HasValue && ToBoolean(p.Value); }
|
|
66 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
67 public static Boolean ToBoolean(Decimal? p) { return p.HasValue && p.Value != 0; }
|
|
68 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
69 public static Boolean ToBoolean(Double? p) { return p.HasValue && p.Value != 0; }
|
|
70 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
71 public static Boolean ToBoolean(Int16? p) { return p.HasValue && p.Value != 0; }
|
|
72 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
73 public static Boolean ToBoolean(Int32? p) { return p.HasValue && p.Value != 0; }
|
|
74 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
75 public static Boolean ToBoolean(Int64? p) { return p.HasValue && p.Value != 0; }
|
|
76 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
77 [CLSCompliant(false)]
|
|
78 public static Boolean ToBoolean(SByte? p) { return p.HasValue && p.Value != 0; }
|
|
79 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
80 public static Boolean ToBoolean(Single? p) { return p.HasValue && p.Value != 0; }
|
|
81 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
82 [CLSCompliant(false)]
|
|
83 public static Boolean ToBoolean(UInt16? p) { return p.HasValue && p.Value != 0; }
|
|
84 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
85 [CLSCompliant(false)]
|
|
86 public static Boolean ToBoolean(UInt32? p) { return p.HasValue && p.Value != 0; }
|
|
87 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
88 [CLSCompliant(false)]
|
|
89 public static Boolean ToBoolean(UInt64? p) { return p.HasValue && p.Value != 0; }
|
|
90
|
|
91 // Other Types
|
|
92 //
|
|
93 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
94 public static Boolean ToBoolean(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Boolean : BitConverter.ToBoolean(p.ToArray(), 0); }
|
|
95 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
96 public static Boolean ToBoolean(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Boolean : BitConverter.ToBoolean(p, 0); }
|
|
97
|
|
98 #if !SILVERLIGHT
|
|
99
|
|
100 // Sql Types
|
|
101 //
|
|
102 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
103 public static Boolean ToBoolean(SqlBoolean p) { return !p.IsNull && p.Value; }
|
|
104 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
105 public static Boolean ToBoolean(SqlByte p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
106 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
107 public static Boolean ToBoolean(SqlDecimal p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
108 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
109 public static Boolean ToBoolean(SqlDouble p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
110 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
111 public static Boolean ToBoolean(SqlInt16 p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
112 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
113 public static Boolean ToBoolean(SqlInt32 p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
114 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
115 public static Boolean ToBoolean(SqlInt64 p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
116 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
117 public static Boolean ToBoolean(SqlMoney p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
118 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
119 public static Boolean ToBoolean(SqlSingle p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
120 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
121 public static Boolean ToBoolean(SqlString p) { return !p.IsNull && ToBoolean(p.Value); }
|
|
122
|
|
123 #endif
|
|
124
|
|
125 // From Object
|
|
126 //
|
|
127 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Boolean</c> value.</summary>
|
|
128 public static Boolean ToBoolean(object p)
|
|
129 {
|
|
130 if (p == null) return Configuration.NullableValues.Boolean;
|
|
131
|
|
132 var type = p.GetType();
|
|
133
|
|
134 // Primitive types
|
|
135 //
|
|
136 switch (Type.GetTypeCode(type))
|
|
137 {
|
|
138 case TypeCode.DBNull : return Configuration.NullableValues.Boolean;
|
|
139 case TypeCode.Boolean : return (Boolean)p;
|
|
140 case TypeCode.Char : return ToBoolean((Char) p);
|
|
141 case TypeCode.String : return ToBoolean((String) p);
|
|
142 case TypeCode.SByte : return ToBoolean((SByte) p);
|
|
143 case TypeCode.Int16 : return ToBoolean((Int16) p);
|
|
144 case TypeCode.Int32 : return ToBoolean((Int32) p);
|
|
145 case TypeCode.Int64 : return ToBoolean((Int64) p);
|
|
146 case TypeCode.Byte : return ToBoolean((Byte) p);
|
|
147 case TypeCode.UInt16 : return ToBoolean((UInt16) p);
|
|
148 case TypeCode.UInt32 : return ToBoolean((UInt32) p);
|
|
149 case TypeCode.UInt64 : return ToBoolean((UInt64) p);
|
|
150 case TypeCode.Single : return ToBoolean((Single) p);
|
|
151 case TypeCode.Double : return ToBoolean((Double) p);
|
|
152 case TypeCode.Decimal : return ToBoolean((Decimal)p);
|
|
153 }
|
|
154
|
|
155 // Nullable Types
|
|
156 //
|
|
157 if (type.IsGenericType)
|
|
158 {
|
|
159 if (p is Boolean?) return ToBoolean((Boolean?) p);
|
|
160 if (p is Byte?) return ToBoolean((Byte?) p);
|
|
161 if (p is Char?) return ToBoolean((Char?) p);
|
|
162 if (p is Decimal?) return ToBoolean((Decimal?) p);
|
|
163 if (p is Double?) return ToBoolean((Double?) p);
|
|
164 if (p is Int16?) return ToBoolean((Int16?) p);
|
|
165 if (p is Int32?) return ToBoolean((Int32?) p);
|
|
166 if (p is Int64?) return ToBoolean((Int64?) p);
|
|
167 if (p is SByte?) return ToBoolean((SByte?) p);
|
|
168 if (p is Single?) return ToBoolean((Single?) p);
|
|
169 if (p is UInt16?) return ToBoolean((UInt16?) p);
|
|
170 if (p is UInt32?) return ToBoolean((UInt32?) p);
|
|
171 if (p is UInt64?) return ToBoolean((UInt64?) p);
|
|
172 }
|
|
173
|
|
174 // Other Types
|
|
175 //
|
|
176 if (p is Binary) return ToBoolean((Binary) p);
|
|
177 if (p is Byte[]) return ToBoolean((Byte[]) p);
|
|
178
|
|
179 #if !SILVERLIGHT
|
|
180
|
|
181 // Sql Types
|
|
182 //
|
|
183 if (p is INullable)
|
|
184 {
|
|
185 if (p is SqlBoolean) return ToBoolean((SqlBoolean)p);
|
|
186 if (p is SqlByte) return ToBoolean((SqlByte) p);
|
|
187 if (p is SqlDecimal) return ToBoolean((SqlDecimal)p);
|
|
188 if (p is SqlDouble) return ToBoolean((SqlDouble) p);
|
|
189 if (p is SqlInt16) return ToBoolean((SqlInt16) p);
|
|
190 if (p is SqlInt32) return ToBoolean((SqlInt32) p);
|
|
191 if (p is SqlInt64) return ToBoolean((SqlInt64) p);
|
|
192 if (p is SqlMoney) return ToBoolean((SqlMoney) p);
|
|
193 if (p is SqlSingle) return ToBoolean((SqlSingle) p);
|
|
194 if (p is SqlString) return ToBoolean((SqlString) p);
|
|
195 }
|
|
196
|
|
197 #endif
|
|
198
|
|
199 if (p is IConvertible) return ((IConvertible)p).ToBoolean(null);
|
|
200
|
|
201 throw CreateInvalidCastException(p.GetType(), typeof(Boolean));
|
|
202 }
|
|
203
|
|
204 #endregion
|
|
205
|
|
206 #region Byte
|
|
207
|
|
208 // Simple Types
|
|
209 //
|
|
210 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Byte</c> value.</summary>
|
|
211 public static Byte ToByte(Boolean p) { return p ? (Byte)1 : (Byte)0; }
|
|
212 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Byte</c> value.</summary>
|
|
213 public static Byte ToByte(Char p) { return checked((Byte)p); }
|
|
214 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Byte</c> value.</summary>
|
|
215 public static Byte ToByte(Decimal p) { return checked((Byte)p); }
|
|
216 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Byte</c> value.</summary>
|
|
217 public static Byte ToByte(Double p) { return checked((Byte)p); }
|
|
218 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Byte</c> value.</summary>
|
|
219 public static Byte ToByte(Int16 p) { return checked((Byte)p); }
|
|
220 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Byte</c> value.</summary>
|
|
221 public static Byte ToByte(Int32 p) { return checked((Byte)p); }
|
|
222 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Byte</c> value.</summary>
|
|
223 public static Byte ToByte(Int64 p) { return checked((Byte)p); }
|
|
224 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Byte</c> value.</summary>
|
|
225 [CLSCompliant(false)]
|
|
226 public static Byte ToByte(SByte p) { return checked((Byte)p); }
|
|
227 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Byte</c> value.</summary>
|
|
228 public static Byte ToByte(Single p) { return checked((Byte)p); }
|
|
229 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Byte</c> value.</summary>
|
|
230 public static Byte ToByte(String p) { return p == null? Configuration.NullableValues.Byte : Byte.Parse(p); }
|
|
231 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Byte</c> value.</summary>
|
|
232 [CLSCompliant(false)]
|
|
233 public static Byte ToByte(UInt16 p) { return checked((Byte)p); }
|
|
234 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Byte</c> value.</summary>
|
|
235 [CLSCompliant(false)]
|
|
236 public static Byte ToByte(UInt32 p) { return checked((Byte)p); }
|
|
237 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Byte</c> value.</summary>
|
|
238 [CLSCompliant(false)]
|
|
239 public static Byte ToByte(UInt64 p) { return checked((Byte)p); }
|
|
240
|
|
241 // Nullable Types
|
|
242 //
|
|
243 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
244 public static Byte ToByte(Boolean? p) { return p.HasValue && p.Value ? (Byte)1: (Byte)0; }
|
|
245 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
246 public static Byte ToByte(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Byte; }
|
|
247 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
248 public static Byte ToByte(Char? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
249 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
250 public static Byte ToByte(Decimal? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
251 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
252 public static Byte ToByte(Double? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
253 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
254 public static Byte ToByte(Int16? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
255 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
256 public static Byte ToByte(Int32? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
257 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
258 public static Byte ToByte(Int64? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
259 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
260 [CLSCompliant(false)]
|
|
261 public static Byte ToByte(SByte? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
262 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
263 public static Byte ToByte(Single? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
264 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
265 [CLSCompliant(false)]
|
|
266 public static Byte ToByte(UInt16? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
267 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
268 [CLSCompliant(false)]
|
|
269 public static Byte ToByte(UInt32? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
270 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Byte</c> value.</summary>
|
|
271 [CLSCompliant(false)]
|
|
272 public static Byte ToByte(UInt64? p) { return p.HasValue ? checked((Byte)p.Value) : Configuration.NullableValues.Byte; }
|
|
273
|
|
274 // Other Types
|
|
275 //
|
|
276 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Byte</c> value.</summary>
|
|
277 public static Byte ToByte(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Byte : p.ToArray()[0]; }
|
|
278 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Byte</c> value.</summary>
|
|
279 public static Byte ToByte(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Byte : p[0]; }
|
|
280
|
|
281 #if !SILVERLIGHT
|
|
282
|
|
283 // Sql Types
|
|
284 //
|
|
285 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Byte</c> value.</summary>
|
|
286 public static Byte ToByte(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
287 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Byte</c> value.</summary>
|
|
288 public static Byte ToByte(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Byte : p.Value; }
|
|
289 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Byte</c> value.</summary>
|
|
290 public static Byte ToByte(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
291 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Byte</c> value.</summary>
|
|
292 public static Byte ToByte(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
293 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Byte</c> value.</summary>
|
|
294 public static Byte ToByte(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
295 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Byte</c> value.</summary>
|
|
296 public static Byte ToByte(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
297 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Byte</c> value.</summary>
|
|
298 public static Byte ToByte(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
299 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Byte</c> value.</summary>
|
|
300 public static Byte ToByte(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
301 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Byte</c> value.</summary>
|
|
302 public static Byte ToByte(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
303 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Byte</c> value.</summary>
|
|
304 public static Byte ToByte(SqlString p) { return p.IsNull ? Configuration.NullableValues.Byte : ToByte(p.Value); }
|
|
305
|
|
306 #endif
|
|
307
|
|
308 // From Object
|
|
309 //
|
|
310 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Byte</c> value.</summary>
|
|
311 public static Byte ToByte(object p)
|
|
312 {
|
|
313 if (p == null) return Configuration.NullableValues.Byte;
|
|
314
|
|
315 var type = p.GetType();
|
|
316
|
|
317 // Primitive types
|
|
318 //
|
|
319 switch (Type.GetTypeCode(type))
|
|
320 {
|
|
321 case TypeCode.DBNull : return Configuration.NullableValues.Byte;
|
|
322 case TypeCode.Byte : return (Byte)p;
|
|
323 case TypeCode.SByte : return ToByte((SByte) p);
|
|
324 case TypeCode.Int16 : return ToByte((Int16) p);
|
|
325 case TypeCode.Int32 : return ToByte((Int32) p);
|
|
326 case TypeCode.Int64 : return ToByte((Int64) p);
|
|
327 case TypeCode.UInt16 : return ToByte((UInt16) p);
|
|
328 case TypeCode.UInt32 : return ToByte((UInt32) p);
|
|
329 case TypeCode.UInt64 : return ToByte((UInt64) p);
|
|
330 case TypeCode.Single : return ToByte((Single) p);
|
|
331 case TypeCode.Double : return ToByte((Double) p);
|
|
332 case TypeCode.Decimal : return ToByte((Decimal)p);
|
|
333 case TypeCode.Char : return ToByte((Char) p);
|
|
334 case TypeCode.String : return ToByte((String) p);
|
|
335 case TypeCode.Boolean : return ToByte((Boolean)p);
|
|
336 }
|
|
337
|
|
338 // Nullable Types
|
|
339 //
|
|
340 if (type.IsGenericType)
|
|
341 {
|
|
342 if (p is Boolean?) return ToByte((Boolean?) p);
|
|
343 if (p is Byte?) return ToByte((Byte?) p);
|
|
344 if (p is Char?) return ToByte((Char?) p);
|
|
345 if (p is Decimal?) return ToByte((Decimal?) p);
|
|
346 if (p is Double?) return ToByte((Double?) p);
|
|
347 if (p is Int16?) return ToByte((Int16?) p);
|
|
348 if (p is Int32?) return ToByte((Int32?) p);
|
|
349 if (p is Int64?) return ToByte((Int64?) p);
|
|
350 if (p is SByte?) return ToByte((SByte?) p);
|
|
351 if (p is Single?) return ToByte((Single?) p);
|
|
352 if (p is UInt16?) return ToByte((UInt16?) p);
|
|
353 if (p is UInt32?) return ToByte((UInt32?) p);
|
|
354 if (p is UInt64?) return ToByte((UInt64?) p);
|
|
355 }
|
|
356
|
|
357 // Other Types
|
|
358 //
|
|
359 if (p is Binary) return ToByte((Binary) p);
|
|
360 if (p is Byte[]) return ToByte((Byte[]) p);
|
|
361
|
|
362 #if !SILVERLIGHT
|
|
363
|
|
364 // Sql Types
|
|
365 //
|
|
366 if (p is INullable)
|
|
367 {
|
|
368 if (p is SqlBoolean) return ToByte((SqlBoolean)p);
|
|
369 if (p is SqlByte) return ToByte((SqlByte) p);
|
|
370 if (p is SqlDecimal) return ToByte((SqlDecimal)p);
|
|
371 if (p is SqlDouble) return ToByte((SqlDouble) p);
|
|
372 if (p is SqlInt16) return ToByte((SqlInt16) p);
|
|
373 if (p is SqlInt32) return ToByte((SqlInt32) p);
|
|
374 if (p is SqlInt64) return ToByte((SqlInt64) p);
|
|
375 if (p is SqlMoney) return ToByte((SqlMoney) p);
|
|
376 if (p is SqlSingle) return ToByte((SqlSingle) p);
|
|
377 if (p is SqlString) return ToByte((SqlString) p);
|
|
378 }
|
|
379
|
|
380 #endif
|
|
381
|
|
382 if (p is IConvertible) return ((IConvertible)p).ToByte(null);
|
|
383
|
|
384 throw CreateInvalidCastException(p.GetType(), typeof(Byte));
|
|
385 }
|
|
386
|
|
387 #endregion
|
|
388
|
|
389 #region Char
|
|
390
|
|
391 // Simple Types
|
|
392 //
|
|
393 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Char</c> value.</summary>
|
|
394 public static Char ToChar(Boolean p) { return p ? (Char)1 : (Char)0; }
|
|
395 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Char</c> value.</summary>
|
|
396 public static Char ToChar(Byte p) { return checked((Char)p); }
|
|
397 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Char</c> value.</summary>
|
|
398 public static Char ToChar(Decimal p) { return checked((Char)p); }
|
|
399 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Char</c> value.</summary>
|
|
400 public static Char ToChar(Double p) { return checked((Char)p); }
|
|
401 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Char</c> value.</summary>
|
|
402 public static Char ToChar(Int16 p) { return checked((Char)p); }
|
|
403 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Char</c> value.</summary>
|
|
404 public static Char ToChar(Int32 p) { return checked((Char)p); }
|
|
405 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Char</c> value.</summary>
|
|
406 public static Char ToChar(Int64 p) { return checked((Char)p); }
|
|
407 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Char</c> value.</summary>
|
|
408 [CLSCompliant(false)]
|
|
409 public static Char ToChar(SByte p) { return checked((Char)p); }
|
|
410 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Char</c> value.</summary>
|
|
411 public static Char ToChar(Single p) { return checked((Char)p); }
|
|
412 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Char</c> value.</summary>
|
|
413 public static Char ToChar(String p) { return string.IsNullOrEmpty(p)? (Char)0 : p[0]; }
|
|
414 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Char</c> value.</summary>
|
|
415 [CLSCompliant(false)]
|
|
416 public static Char ToChar(UInt16 p) { return checked((Char)p); }
|
|
417 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Char</c> value.</summary>
|
|
418 [CLSCompliant(false)]
|
|
419 public static Char ToChar(UInt32 p) { return checked((Char)p); }
|
|
420 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Char</c> value.</summary>
|
|
421 [CLSCompliant(false)]
|
|
422 public static Char ToChar(UInt64 p) { return checked((Char)p); }
|
|
423
|
|
424 // Nullable Types
|
|
425 //
|
|
426 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Char</c> value.</summary>
|
|
427 public static Char ToChar(Boolean? p) { return p.HasValue && p.Value ? (Char)1: (Char)0; }
|
|
428 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Char</c> value.</summary>
|
|
429 public static Char ToChar(Byte? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
430 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Char</c> value.</summary>
|
|
431 public static Char ToChar(Char? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Char; }
|
|
432 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Char</c> value.</summary>
|
|
433 public static Char ToChar(Decimal? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
434 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Char</c> value.</summary>
|
|
435 public static Char ToChar(Double? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
436 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Char</c> value.</summary>
|
|
437 public static Char ToChar(Int16? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
438 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Char</c> value.</summary>
|
|
439 public static Char ToChar(Int32? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
440 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Char</c> value.</summary>
|
|
441 public static Char ToChar(Int64? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
442 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Char</c> value.</summary>
|
|
443 [CLSCompliant(false)]
|
|
444 public static Char ToChar(SByte? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
445 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Char</c> value.</summary>
|
|
446 public static Char ToChar(Single? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
447 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Char</c> value.</summary>
|
|
448 [CLSCompliant(false)]
|
|
449 public static Char ToChar(UInt16? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
450 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Char</c> value.</summary>
|
|
451 [CLSCompliant(false)]
|
|
452 public static Char ToChar(UInt32? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
453 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Char</c> value.</summary>
|
|
454 [CLSCompliant(false)]
|
|
455 public static Char ToChar(UInt64? p) { return p.HasValue ? checked((Char)p.Value) : Configuration.NullableValues.Char; }
|
|
456
|
|
457 // Other Types
|
|
458 //
|
|
459 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Char</c> value.</summary>
|
|
460 public static Char ToChar(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Char : BitConverter.ToChar(p.ToArray(), 0); }
|
|
461 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Char</c> value.</summary>
|
|
462 public static Char ToChar(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Char : BitConverter.ToChar(p, 0); }
|
|
463
|
|
464 #if !SILVERLIGHT
|
|
465
|
|
466 // Sql Types
|
|
467 //
|
|
468 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Char</c> value.</summary>
|
|
469 public static Char ToChar(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
470 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Char</c> value.</summary>
|
|
471 public static Char ToChar(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
472 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Char</c> value.</summary>
|
|
473 public static Char ToChar(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
474 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Char</c> value.</summary>
|
|
475 public static Char ToChar(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
476 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Char</c> value.</summary>
|
|
477 public static Char ToChar(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
478 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Char</c> value.</summary>
|
|
479 public static Char ToChar(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
480 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Char</c> value.</summary>
|
|
481 public static Char ToChar(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
482 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Char</c> value.</summary>
|
|
483 public static Char ToChar(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
484 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Char</c> value.</summary>
|
|
485 public static Char ToChar(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
486 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Char</c> value.</summary>
|
|
487 public static Char ToChar(SqlString p) { return p.IsNull ? Configuration.NullableValues.Char : ToChar(p.Value); }
|
|
488
|
|
489 #endif
|
|
490
|
|
491 // From Object
|
|
492 //
|
|
493 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Char</c> value.</summary>
|
|
494 public static Char ToChar(object p)
|
|
495 {
|
|
496 if (p == null) return Configuration.NullableValues.Char;
|
|
497
|
|
498 var type = p.GetType();
|
|
499
|
|
500 // Primitive types
|
|
501 //
|
|
502 switch (Type.GetTypeCode(type))
|
|
503 {
|
|
504 case TypeCode.DBNull : return Configuration.NullableValues.Char;
|
|
505 case TypeCode.Char : return (Char)p;
|
|
506 case TypeCode.SByte : return ToChar((SByte) p);
|
|
507 case TypeCode.Int16 : return ToChar((Int16) p);
|
|
508 case TypeCode.Int32 : return ToChar((Int32) p);
|
|
509 case TypeCode.Int64 : return ToChar((Int64) p);
|
|
510 case TypeCode.Byte : return ToChar((Byte) p);
|
|
511 case TypeCode.UInt16 : return ToChar((UInt16) p);
|
|
512 case TypeCode.UInt32 : return ToChar((UInt32) p);
|
|
513 case TypeCode.UInt64 : return ToChar((UInt64) p);
|
|
514 case TypeCode.Single : return ToChar((Single) p);
|
|
515 case TypeCode.Double : return ToChar((Double) p);
|
|
516 case TypeCode.Decimal : return ToChar((Decimal)p);
|
|
517 case TypeCode.String : return ToChar((String) p);
|
|
518 case TypeCode.Boolean : return ToChar((Boolean)p);
|
|
519 }
|
|
520
|
|
521 // Nullable Types
|
|
522 //
|
|
523 if (type.IsGenericType)
|
|
524 {
|
|
525 if (p is Boolean?) return ToChar((Boolean?) p);
|
|
526 if (p is Byte?) return ToChar((Byte?) p);
|
|
527 if (p is Char?) return ToChar((Char?) p);
|
|
528 if (p is Decimal?) return ToChar((Decimal?) p);
|
|
529 if (p is Double?) return ToChar((Double?) p);
|
|
530 if (p is Int16?) return ToChar((Int16?) p);
|
|
531 if (p is Int32?) return ToChar((Int32?) p);
|
|
532 if (p is Int64?) return ToChar((Int64?) p);
|
|
533 if (p is SByte?) return ToChar((SByte?) p);
|
|
534 if (p is Single?) return ToChar((Single?) p);
|
|
535 if (p is UInt16?) return ToChar((UInt16?) p);
|
|
536 if (p is UInt32?) return ToChar((UInt32?) p);
|
|
537 if (p is UInt64?) return ToChar((UInt64?) p);
|
|
538 }
|
|
539
|
|
540 // Other Types
|
|
541 //
|
|
542 if (p is Binary) return ToChar((Binary) p);
|
|
543 if (p is Byte[]) return ToChar((Byte[]) p);
|
|
544
|
|
545 #if !SILVERLIGHT
|
|
546
|
|
547 // Sql Types
|
|
548 //
|
|
549 if (p is INullable)
|
|
550 {
|
|
551 if (p is SqlBoolean) return ToChar((SqlBoolean)p);
|
|
552 if (p is SqlByte) return ToChar((SqlByte) p);
|
|
553 if (p is SqlDecimal) return ToChar((SqlDecimal)p);
|
|
554 if (p is SqlDouble) return ToChar((SqlDouble) p);
|
|
555 if (p is SqlInt16) return ToChar((SqlInt16) p);
|
|
556 if (p is SqlInt32) return ToChar((SqlInt32) p);
|
|
557 if (p is SqlInt64) return ToChar((SqlInt64) p);
|
|
558 if (p is SqlMoney) return ToChar((SqlMoney) p);
|
|
559 if (p is SqlSingle) return ToChar((SqlSingle) p);
|
|
560 if (p is SqlString) return ToChar((SqlString) p);
|
|
561 }
|
|
562
|
|
563 #endif
|
|
564
|
|
565 if (p is IConvertible) return ((IConvertible)p).ToChar(null);
|
|
566
|
|
567 throw CreateInvalidCastException(p.GetType(), typeof(Char));
|
|
568 }
|
|
569
|
|
570 #endregion
|
|
571
|
|
572 #region DateTime
|
|
573
|
|
574 // Simple Types
|
|
575 //
|
|
576 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
577 public static DateTime ToDateTime(DateTimeOffset p) { return p.LocalDateTime; }
|
|
578 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
579 public static DateTime ToDateTime(Double p) { return DateTime.MinValue + TimeSpan.FromDays (p); }
|
|
580 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
581 public static DateTime ToDateTime(Int64 p) { return DateTime.MinValue + TimeSpan.FromTicks(p); }
|
|
582 /// <summary>Converts the value from <c>String</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
583 public static DateTime ToDateTime(String p) { return p == null ? Configuration.NullableValues.DateTime : DateTime.Parse(p, null, DateTimeStyles.NoCurrentDateDefault); }
|
|
584 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
585 public static DateTime ToDateTime(TimeSpan p) { return DateTime.MinValue + p; }
|
|
586
|
|
587 // Nullable Types
|
|
588 //
|
|
589 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
590 public static DateTime ToDateTime(DateTime? p) { return p.HasValue ? p.Value : Configuration.NullableValues.DateTime; }
|
|
591 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
592 public static DateTime ToDateTime(DateTimeOffset? p) { return p.HasValue ? p.Value.LocalDateTime : Configuration.NullableValues.DateTime; }
|
|
593 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
594 public static DateTime ToDateTime(Double? p) { return p.HasValue ? DateTime.MinValue + TimeSpan.FromDays (p.Value): Configuration.NullableValues.DateTime; }
|
|
595 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
596 public static DateTime ToDateTime(Int64? p) { return p.HasValue ? DateTime.MinValue + TimeSpan.FromTicks(p.Value): Configuration.NullableValues.DateTime; }
|
|
597 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
598 public static DateTime ToDateTime(TimeSpan? p) { return p.HasValue ? DateTime.MinValue + p.Value : Configuration.NullableValues.DateTime; }
|
|
599
|
|
600 // Other Types
|
|
601 //
|
|
602 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
603 public static DateTime ToDateTime(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.DateTime : DateTime.FromBinary(ToInt64(p.ToArray())); }
|
|
604 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
605 public static DateTime ToDateTime(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.DateTime : DateTime.FromBinary(ToInt64(p)); }
|
|
606
|
|
607 #if !SILVERLIGHT
|
|
608
|
|
609 // Sql Types
|
|
610 //
|
|
611 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
612 public static DateTime ToDateTime(SqlDateTime p) { return p.IsNull ? Configuration.NullableValues.DateTime : p.Value; }
|
|
613 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
614 public static DateTime ToDateTime(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.DateTime : DateTime.MinValue + TimeSpan.FromDays (p.Value); }
|
|
615 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
616 public static DateTime ToDateTime(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.DateTime : DateTime.MinValue + TimeSpan.FromTicks(p.Value); }
|
|
617 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
618 public static DateTime ToDateTime(SqlString p) { return p.IsNull ? Configuration.NullableValues.DateTime : ToDateTime(p.Value); }
|
|
619
|
|
620 #endif
|
|
621
|
|
622 // From Object
|
|
623 //
|
|
624 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>DateTime</c> value.</summary>
|
|
625 public static DateTime ToDateTime(object p)
|
|
626 {
|
|
627 if (p == null) return Configuration.NullableValues.DateTime;
|
|
628
|
|
629 var type = p.GetType();
|
|
630
|
|
631 // Primitive types
|
|
632 //
|
|
633 switch (Type.GetTypeCode(type))
|
|
634 {
|
|
635 case TypeCode.DBNull : return Configuration.NullableValues.DateTime;
|
|
636 case TypeCode.DateTime : return (DateTime)p;
|
|
637 case TypeCode.String : return ToDateTime((String) p);
|
|
638 case TypeCode.Int64 : return ToDateTime((Int64) p);
|
|
639 case TypeCode.Double : return ToDateTime((Double) p);
|
|
640 }
|
|
641
|
|
642 // Simple Types
|
|
643 //
|
|
644 if (p is DateTimeOffset) return ToDateTime((DateTimeOffset) p);
|
|
645 if (p is TimeSpan) return ToDateTime((TimeSpan) p);
|
|
646
|
|
647 // Nullable Types
|
|
648 //
|
|
649 if (type.IsGenericType)
|
|
650 {
|
|
651 if (p is DateTime?) return ToDateTime((DateTime?) p);
|
|
652 if (p is DateTimeOffset?) return ToDateTime((DateTimeOffset?)p);
|
|
653 if (p is Double?) return ToDateTime((Double?) p);
|
|
654 if (p is Int64?) return ToDateTime((Int64?) p);
|
|
655 if (p is TimeSpan?) return ToDateTime((TimeSpan?) p);
|
|
656 }
|
|
657
|
|
658 // Other Types
|
|
659 //
|
|
660 if (p is Binary) return ToDateTime((Binary) p);
|
|
661 if (p is Byte[]) return ToDateTime((Byte[]) p);
|
|
662
|
|
663 #if !SILVERLIGHT
|
|
664
|
|
665 // Sql Types
|
|
666 //
|
|
667 if (p is INullable)
|
|
668 {
|
|
669 if (p is SqlDateTime) return ToDateTime((SqlDateTime) p);
|
|
670 if (p is SqlDouble) return ToDateTime((SqlDouble) p);
|
|
671 if (p is SqlInt64) return ToDateTime((SqlInt64) p);
|
|
672 if (p is SqlString) return ToDateTime((SqlString) p);
|
|
673 }
|
|
674
|
|
675 #endif
|
|
676
|
|
677 if (p is IConvertible) return ((IConvertible)p).ToDateTime(null);
|
|
678
|
|
679 throw CreateInvalidCastException(p.GetType(), typeof(DateTime));
|
|
680 }
|
|
681
|
|
682 #endregion
|
|
683
|
|
684 #region DateTimeOffset
|
|
685
|
|
686 // Simple Types
|
|
687 //
|
|
688 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
689 public static DateTimeOffset ToDateTimeOffset(DateTime p) { return p; }
|
|
690 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
691 public static DateTimeOffset ToDateTimeOffset(Double p) { return DateTimeOffset.MinValue + TimeSpan.FromDays (p); }
|
|
692 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
693 public static DateTimeOffset ToDateTimeOffset(Int64 p) { return DateTimeOffset.MinValue + TimeSpan.FromTicks(p); }
|
|
694 /// <summary>Converts the value from <c>String</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
695 public static DateTimeOffset ToDateTimeOffset(String p) { return p == null? DateTimeOffset.MinValue : DateTimeOffset.Parse(p); }
|
|
696 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
697 public static DateTimeOffset ToDateTimeOffset(TimeSpan p) { return DateTimeOffset.MinValue + p; }
|
|
698
|
|
699 // Nullable Types
|
|
700 //
|
|
701 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
702 public static DateTimeOffset ToDateTimeOffset(DateTime? p) { return p.HasValue ? p.Value : DateTimeOffset.MinValue; }
|
|
703 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
704 public static DateTimeOffset ToDateTimeOffset(DateTimeOffset? p) { return p.HasValue ? p.Value : DateTimeOffset.MinValue; }
|
|
705 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
706 public static DateTimeOffset ToDateTimeOffset(Double? p) { return p.HasValue ? DateTimeOffset.MinValue + TimeSpan.FromDays (p.Value): DateTimeOffset.MinValue; }
|
|
707 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
708 public static DateTimeOffset ToDateTimeOffset(Int64? p) { return p.HasValue ? DateTimeOffset.MinValue + TimeSpan.FromTicks(p.Value): DateTimeOffset.MinValue; }
|
|
709 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
710 public static DateTimeOffset ToDateTimeOffset(TimeSpan? p) { return p.HasValue ? DateTimeOffset.MinValue + p.Value : DateTimeOffset.MinValue; }
|
|
711
|
|
712 // Other Types
|
|
713 //
|
|
714 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
715 public static DateTimeOffset ToDateTimeOffset(Binary p) { return p == null || p.Length == 0 ? DateTimeOffset.MinValue : new DateTimeOffset(ToDateTime(p.ToArray())); }
|
|
716 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
717 public static DateTimeOffset ToDateTimeOffset(Byte[] p) { return p == null || p.Length == 0 ? DateTimeOffset.MinValue : new DateTimeOffset(ToDateTime(p)); }
|
|
718
|
|
719 #if !SILVERLIGHT
|
|
720
|
|
721 // Sql Types
|
|
722 //
|
|
723 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
724 public static DateTimeOffset ToDateTimeOffset(SqlDateTime p) { return p.IsNull ? DateTimeOffset.MinValue : p.Value; }
|
|
725 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
726 public static DateTimeOffset ToDateTimeOffset(SqlDouble p) { return p.IsNull ? DateTimeOffset.MinValue : DateTimeOffset.MinValue + TimeSpan.FromDays (p.Value); }
|
|
727 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
728 public static DateTimeOffset ToDateTimeOffset(SqlInt64 p) { return p.IsNull ? DateTimeOffset.MinValue : DateTimeOffset.MinValue + TimeSpan.FromTicks(p.Value); }
|
|
729 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
730 public static DateTimeOffset ToDateTimeOffset(SqlString p) { return p.IsNull ? DateTimeOffset.MinValue : ToDateTimeOffset(p.Value); }
|
|
731
|
|
732 #endif
|
|
733
|
|
734 // From Object
|
|
735 //
|
|
736 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>DateTimeOffset</c> value.</summary>
|
|
737 public static DateTimeOffset ToDateTimeOffset(object p)
|
|
738 {
|
|
739 if (p == null) return DateTimeOffset.MinValue;
|
|
740
|
|
741 if (p is DateTimeOffset) return (DateTimeOffset)p;
|
|
742
|
|
743 var type = p.GetType();
|
|
744
|
|
745 // Primitive types
|
|
746 //
|
|
747 switch (Type.GetTypeCode(type))
|
|
748 {
|
|
749 case TypeCode.DBNull : return DateTimeOffset.MinValue;
|
|
750 case TypeCode.Int64 : return ToDateTimeOffset((Int64) p);
|
|
751 case TypeCode.Double : return ToDateTimeOffset((Double) p);
|
|
752 case TypeCode.DateTime : return ToDateTimeOffset((DateTime) p);
|
|
753 case TypeCode.String : return ToDateTimeOffset((String) p);
|
|
754 }
|
|
755
|
|
756 // Simple Types
|
|
757 //
|
|
758 if (p is TimeSpan) return ToDateTimeOffset((TimeSpan) p);
|
|
759
|
|
760 // Nullable Types
|
|
761 //
|
|
762 if (type.IsGenericType)
|
|
763 {
|
|
764 if (p is DateTime?) return ToDateTimeOffset((DateTime?) p);
|
|
765 if (p is DateTimeOffset?) return ToDateTimeOffset((DateTimeOffset?)p);
|
|
766 if (p is Double?) return ToDateTimeOffset((Double?) p);
|
|
767 if (p is Int64?) return ToDateTimeOffset((Int64?) p);
|
|
768 if (p is TimeSpan?) return ToDateTimeOffset((TimeSpan?) p);
|
|
769 }
|
|
770
|
|
771 // Other Types
|
|
772 //
|
|
773 if (p is Binary) return ToDateTimeOffset((Binary) p);
|
|
774 if (p is Byte[]) return ToDateTimeOffset((Byte[]) p);
|
|
775
|
|
776 #if !SILVERLIGHT
|
|
777
|
|
778 // Sql Types
|
|
779 //
|
|
780 if (p is INullable)
|
|
781 {
|
|
782 if (p is SqlDateTime) return ToDateTimeOffset((SqlDateTime) p);
|
|
783 if (p is SqlDouble) return ToDateTimeOffset((SqlDouble) p);
|
|
784 if (p is SqlInt64) return ToDateTimeOffset((SqlInt64) p);
|
|
785 if (p is SqlString) return ToDateTimeOffset((SqlString) p);
|
|
786 }
|
|
787
|
|
788 #endif
|
|
789
|
|
790 throw CreateInvalidCastException(p.GetType(), typeof(DateTimeOffset));
|
|
791 }
|
|
792
|
|
793 #endregion
|
|
794
|
|
795 #region Decimal
|
|
796
|
|
797 // Simple Types
|
|
798 //
|
|
799 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
800 public static Decimal ToDecimal(Boolean p) { return p ? (Decimal)1 : (Decimal)0; }
|
|
801 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
802 public static Decimal ToDecimal(Byte p) { return p; }
|
|
803 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
804 public static Decimal ToDecimal(Char p) { return p; }
|
|
805 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
806 public static Decimal ToDecimal(Double p) { return checked((Decimal)p); }
|
|
807 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
808 public static Decimal ToDecimal(Int16 p) { return p; }
|
|
809 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
810 public static Decimal ToDecimal(Int32 p) { return p; }
|
|
811 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
812 public static Decimal ToDecimal(Int64 p) { return p; }
|
|
813 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
814 [CLSCompliant(false)]
|
|
815 public static Decimal ToDecimal(SByte p) { return p; }
|
|
816 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
817 public static Decimal ToDecimal(Single p) { return checked((Decimal)p); }
|
|
818 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
819 public static Decimal ToDecimal(String p) { return p == null? Configuration.NullableValues.Decimal : Decimal.Parse(p); }
|
|
820 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
821 [CLSCompliant(false)]
|
|
822 public static Decimal ToDecimal(UInt16 p) { return p; }
|
|
823 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
824 [CLSCompliant(false)]
|
|
825 public static Decimal ToDecimal(UInt32 p) { return p; }
|
|
826 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
827 [CLSCompliant(false)]
|
|
828 public static Decimal ToDecimal(UInt64 p) { return p; }
|
|
829
|
|
830 // Nullable Types
|
|
831 //
|
|
832 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
833 public static Decimal ToDecimal(Boolean? p) { return p.HasValue && p.Value ? (Decimal)1: (Decimal)0; }
|
|
834 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
835 public static Decimal ToDecimal(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
836 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
837 public static Decimal ToDecimal(Char? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
838 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
839 public static Decimal ToDecimal(Decimal? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
840 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
841 public static Decimal ToDecimal(Double? p) { return p.HasValue ? checked((Decimal)p.Value) : Configuration.NullableValues.Decimal; }
|
|
842 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
843 public static Decimal ToDecimal(Int16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
844 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
845 public static Decimal ToDecimal(Int32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
846 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
847 public static Decimal ToDecimal(Int64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
848 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
849 [CLSCompliant(false)]
|
|
850 public static Decimal ToDecimal(SByte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
851 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
852 public static Decimal ToDecimal(Single? p) { return p.HasValue ? checked((Decimal)p.Value) : Configuration.NullableValues.Decimal; }
|
|
853 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
854 [CLSCompliant(false)]
|
|
855 public static Decimal ToDecimal(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
856 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
857 [CLSCompliant(false)]
|
|
858 public static Decimal ToDecimal(UInt32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
859 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
860 [CLSCompliant(false)]
|
|
861 public static Decimal ToDecimal(UInt64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Decimal; }
|
|
862
|
|
863 #if !SILVERLIGHT
|
|
864
|
|
865 // Sql Types
|
|
866 //
|
|
867 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
868 public static Decimal ToDecimal(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Decimal : ToDecimal(p.Value); }
|
|
869 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
870 public static Decimal ToDecimal(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Decimal : p.Value; }
|
|
871 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
872 public static Decimal ToDecimal(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Decimal : p.Value; }
|
|
873 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
874 public static Decimal ToDecimal(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Decimal : ToDecimal(p.Value); }
|
|
875 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
876 public static Decimal ToDecimal(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Decimal : p.Value; }
|
|
877 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
878 public static Decimal ToDecimal(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Decimal : p.Value; }
|
|
879 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
880 public static Decimal ToDecimal(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Decimal : p.Value; }
|
|
881 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
882 public static Decimal ToDecimal(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Decimal : p.Value; }
|
|
883 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
884 public static Decimal ToDecimal(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Decimal : ToDecimal(p.Value); }
|
|
885 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
886 public static Decimal ToDecimal(SqlString p) { return p.IsNull ? Configuration.NullableValues.Decimal : ToDecimal(p.Value); }
|
|
887
|
|
888 #endif
|
|
889
|
|
890 // From Object
|
|
891 //
|
|
892 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Decimal</c> value.</summary>
|
|
893 public static Decimal ToDecimal(object p)
|
|
894 {
|
|
895 if (p == null) return Configuration.NullableValues.Decimal;
|
|
896
|
|
897 var type = p.GetType();
|
|
898
|
|
899 // Primitive types
|
|
900 //
|
|
901 switch (Type.GetTypeCode(type))
|
|
902 {
|
|
903 case TypeCode.DBNull : return Configuration.NullableValues.Decimal;
|
|
904 case TypeCode.Decimal : return (Decimal)p;
|
|
905 case TypeCode.SByte : return ToDecimal((SByte) p);
|
|
906 case TypeCode.Int16 : return ToDecimal((Int16) p);
|
|
907 case TypeCode.Int32 : return ToDecimal((Int32) p);
|
|
908 case TypeCode.Int64 : return ToDecimal((Int64) p);
|
|
909 case TypeCode.Byte : return ToDecimal((Byte) p);
|
|
910 case TypeCode.UInt16 : return ToDecimal((UInt16) p);
|
|
911 case TypeCode.UInt32 : return ToDecimal((UInt32) p);
|
|
912 case TypeCode.Char : return ToDecimal((Char) p);
|
|
913 case TypeCode.UInt64 : return ToDecimal((UInt64) p);
|
|
914 case TypeCode.Single : return ToDecimal((Single) p);
|
|
915 case TypeCode.Double : return ToDecimal((Double) p);
|
|
916 case TypeCode.String : return ToDecimal((String) p);
|
|
917 case TypeCode.Boolean : return ToDecimal((Boolean)p);
|
|
918 }
|
|
919
|
|
920 // Nullable Types
|
|
921 //
|
|
922 if (type.IsGenericType)
|
|
923 {
|
|
924 if (p is Boolean?) return ToDecimal((Boolean?) p);
|
|
925 if (p is Byte?) return ToDecimal((Byte?) p);
|
|
926 if (p is Char?) return ToDecimal((Char?) p);
|
|
927 if (p is Decimal?) return ToDecimal((Decimal?) p);
|
|
928 if (p is Double?) return ToDecimal((Double?) p);
|
|
929 if (p is Int16?) return ToDecimal((Int16?) p);
|
|
930 if (p is Int32?) return ToDecimal((Int32?) p);
|
|
931 if (p is Int64?) return ToDecimal((Int64?) p);
|
|
932 if (p is SByte?) return ToDecimal((SByte?) p);
|
|
933 if (p is Single?) return ToDecimal((Single?) p);
|
|
934 if (p is UInt16?) return ToDecimal((UInt16?) p);
|
|
935 if (p is UInt32?) return ToDecimal((UInt32?) p);
|
|
936 if (p is UInt64?) return ToDecimal((UInt64?) p);
|
|
937 }
|
|
938
|
|
939 // Other Types
|
|
940 //
|
|
941 if (p is Binary) return ToDecimal((Binary) p);
|
|
942 if (p is Byte[]) return ToDecimal((Byte[]) p);
|
|
943
|
|
944 #if !SILVERLIGHT
|
|
945
|
|
946 // Sql Types
|
|
947 //
|
|
948 if (p is INullable)
|
|
949 {
|
|
950 if (p is SqlBoolean) return ToDecimal((SqlBoolean)p);
|
|
951 if (p is SqlByte) return ToDecimal((SqlByte) p);
|
|
952 if (p is SqlDecimal) return ToDecimal((SqlDecimal)p);
|
|
953 if (p is SqlDouble) return ToDecimal((SqlDouble) p);
|
|
954 if (p is SqlInt16) return ToDecimal((SqlInt16) p);
|
|
955 if (p is SqlInt32) return ToDecimal((SqlInt32) p);
|
|
956 if (p is SqlInt64) return ToDecimal((SqlInt64) p);
|
|
957 if (p is SqlMoney) return ToDecimal((SqlMoney) p);
|
|
958 if (p is SqlSingle) return ToDecimal((SqlSingle) p);
|
|
959 if (p is SqlString) return ToDecimal((SqlString) p);
|
|
960 }
|
|
961
|
|
962 #endif
|
|
963
|
|
964 if (p is IConvertible) return ((IConvertible)p).ToDecimal(null);
|
|
965
|
|
966 throw CreateInvalidCastException(p.GetType(), typeof(Decimal));
|
|
967 }
|
|
968
|
|
969 #endregion
|
|
970
|
|
971 #region Double
|
|
972
|
|
973 // Simple Types
|
|
974 //
|
|
975 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Double</c> value.</summary>
|
|
976 public static Double ToDouble(Boolean p) { return p ? (Double)1 : (Double)0; }
|
|
977 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Double</c> value.</summary>
|
|
978 public static Double ToDouble(Byte p) { return p; }
|
|
979 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Double</c> value.</summary>
|
|
980 public static Double ToDouble(Char p) { return p; }
|
|
981 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>Double</c> value.</summary>
|
|
982 public static Double ToDouble(DateTime p) { return (p - DateTime.MinValue).TotalDays; }
|
|
983 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>Double</c> value.</summary>
|
|
984 public static Double ToDouble(DateTimeOffset p) { return (p - DateTimeOffset.MinValue).TotalDays; }
|
|
985 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Double</c> value.</summary>
|
|
986 public static Double ToDouble(Decimal p) { return checked((Double)p); }
|
|
987 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Double</c> value.</summary>
|
|
988 public static Double ToDouble(Int16 p) { return p; }
|
|
989 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Double</c> value.</summary>
|
|
990 public static Double ToDouble(Int32 p) { return p; }
|
|
991 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Double</c> value.</summary>
|
|
992 public static Double ToDouble(Int64 p) { return p; }
|
|
993 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Double</c> value.</summary>
|
|
994 [CLSCompliant(false)]
|
|
995 public static Double ToDouble(SByte p) { return p; }
|
|
996 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Double</c> value.</summary>
|
|
997 public static Double ToDouble(Single p) { return p; }
|
|
998 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Double</c> value.</summary>
|
|
999 public static Double ToDouble(String p) { return p == null? Configuration.NullableValues.Double : Double.Parse(p); }
|
|
1000 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>Double</c> value.</summary>
|
|
1001 public static Double ToDouble(TimeSpan p) { return p.TotalDays; }
|
|
1002 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Double</c> value.</summary>
|
|
1003 [CLSCompliant(false)]
|
|
1004 public static Double ToDouble(UInt16 p) { return p; }
|
|
1005 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Double</c> value.</summary>
|
|
1006 [CLSCompliant(false)]
|
|
1007 public static Double ToDouble(UInt32 p) { return p; }
|
|
1008 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Double</c> value.</summary>
|
|
1009 [CLSCompliant(false)]
|
|
1010 public static Double ToDouble(UInt64 p) { return p; }
|
|
1011
|
|
1012 // Nullable Types
|
|
1013 //
|
|
1014 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1015 public static Double ToDouble(Boolean? p) { return p.HasValue && p.Value ? (Double)1: (Double)0; }
|
|
1016 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1017 public static Double ToDouble(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1018 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1019 public static Double ToDouble(Char? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1020 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1021 public static Double ToDouble(DateTime? p) { return p.HasValue ? (p.Value - DateTime.MinValue).TotalDays : Configuration.NullableValues.Double; }
|
|
1022 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1023 public static Double ToDouble(DateTimeOffset? p) { return p.HasValue ? (p.Value - DateTimeOffset.MinValue).TotalDays : Configuration.NullableValues.Double; }
|
|
1024 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1025 public static Double ToDouble(Decimal? p) { return p.HasValue ? checked((Double)p.Value) : Configuration.NullableValues.Double; }
|
|
1026 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1027 public static Double ToDouble(Double? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1028 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1029 public static Double ToDouble(Int16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1030 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1031 public static Double ToDouble(Int32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1032 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1033 public static Double ToDouble(Int64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1034 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1035 [CLSCompliant(false)]
|
|
1036 public static Double ToDouble(SByte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1037 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1038 public static Double ToDouble(Single? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1039 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1040 public static Double ToDouble(TimeSpan? p) { return p.HasValue ? p.Value.TotalDays : Configuration.NullableValues.Double; }
|
|
1041 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1042 [CLSCompliant(false)]
|
|
1043 public static Double ToDouble(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1044 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1045 [CLSCompliant(false)]
|
|
1046 public static Double ToDouble(UInt32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1047 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Double</c> value.</summary>
|
|
1048 [CLSCompliant(false)]
|
|
1049 public static Double ToDouble(UInt64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Double; }
|
|
1050
|
|
1051 // Other Types
|
|
1052 //
|
|
1053 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Double</c> value.</summary>
|
|
1054 public static Double ToDouble(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Double : BitConverter.ToDouble(p.ToArray(), 0); }
|
|
1055 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Double</c> value.</summary>
|
|
1056 public static Double ToDouble(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Double : BitConverter.ToDouble(p, 0); }
|
|
1057
|
|
1058 #if !SILVERLIGHT
|
|
1059
|
|
1060 // Sql Types
|
|
1061 //
|
|
1062 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Double</c> value.</summary>
|
|
1063 public static Double ToDouble(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Double : ToDouble(p.Value); }
|
|
1064 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Double</c> value.</summary>
|
|
1065 public static Double ToDouble(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Double : p.Value; }
|
|
1066 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>Double</c> value.</summary>
|
|
1067 public static Double ToDouble(SqlDateTime p) { return p.IsNull ? Configuration.NullableValues.Double : ToDouble(p.Value); }
|
|
1068 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Double</c> value.</summary>
|
|
1069 public static Double ToDouble(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Double : ToDouble(p.Value); }
|
|
1070 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Double</c> value.</summary>
|
|
1071 public static Double ToDouble(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Double : p.Value; }
|
|
1072 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Double</c> value.</summary>
|
|
1073 public static Double ToDouble(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Double : p.Value; }
|
|
1074 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Double</c> value.</summary>
|
|
1075 public static Double ToDouble(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Double : p.Value; }
|
|
1076 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Double</c> value.</summary>
|
|
1077 public static Double ToDouble(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Double : p.Value; }
|
|
1078 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Double</c> value.</summary>
|
|
1079 public static Double ToDouble(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Double : ToDouble(p.Value); }
|
|
1080 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Double</c> value.</summary>
|
|
1081 public static Double ToDouble(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Double : p.Value; }
|
|
1082 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Double</c> value.</summary>
|
|
1083 public static Double ToDouble(SqlString p) { return p.IsNull ? Configuration.NullableValues.Double : ToDouble(p.Value); }
|
|
1084
|
|
1085 #endif
|
|
1086
|
|
1087 // From Object
|
|
1088 //
|
|
1089 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Double</c> value.</summary>
|
|
1090 public static Double ToDouble(object p)
|
|
1091 {
|
|
1092 if (p == null) return Configuration.NullableValues.Double;
|
|
1093
|
|
1094 var type = p.GetType();
|
|
1095
|
|
1096 // Primitive types
|
|
1097 //
|
|
1098 switch (Type.GetTypeCode(type))
|
|
1099 {
|
|
1100 case TypeCode.DBNull : return Configuration.NullableValues.Double;
|
|
1101 case TypeCode.Double : return (Double)p;
|
|
1102 case TypeCode.DateTime : return ToDouble((DateTime)p);
|
|
1103 case TypeCode.SByte : return ToDouble((SByte) p);
|
|
1104 case TypeCode.Int16 : return ToDouble((Int16) p);
|
|
1105 case TypeCode.Int32 : return ToDouble((Int32) p);
|
|
1106 case TypeCode.Int64 : return ToDouble((Int64) p);
|
|
1107 case TypeCode.Byte : return ToDouble((Byte) p);
|
|
1108 case TypeCode.UInt16 : return ToDouble((UInt16) p);
|
|
1109 case TypeCode.UInt32 : return ToDouble((UInt32) p);
|
|
1110 case TypeCode.Char : return ToDouble((Char) p);
|
|
1111 case TypeCode.UInt64 : return ToDouble((UInt64) p);
|
|
1112 case TypeCode.Single : return ToDouble((Single) p);
|
|
1113 case TypeCode.Decimal : return ToDouble((Decimal) p);
|
|
1114 case TypeCode.String : return ToDouble((String) p);
|
|
1115 case TypeCode.Boolean : return ToDouble((Boolean) p);
|
|
1116 }
|
|
1117
|
|
1118 // Simple Types
|
|
1119 //
|
|
1120 if (p is DateTimeOffset) return ToDouble((DateTimeOffset) p);
|
|
1121 if (p is TimeSpan) return ToDouble((TimeSpan) p);
|
|
1122
|
|
1123 // Nullable Types
|
|
1124 //
|
|
1125 if (type.IsGenericType)
|
|
1126 {
|
|
1127 if (p is Boolean?) return ToDouble((Boolean?) p);
|
|
1128 if (p is Byte?) return ToDouble((Byte?) p);
|
|
1129 if (p is Char?) return ToDouble((Char?) p);
|
|
1130 if (p is DateTime?) return ToDouble((DateTime?) p);
|
|
1131 if (p is DateTimeOffset?) return ToDouble((DateTimeOffset?)p);
|
|
1132 if (p is Decimal?) return ToDouble((Decimal?) p);
|
|
1133 if (p is Double?) return ToDouble((Double?) p);
|
|
1134 if (p is Int16?) return ToDouble((Int16?) p);
|
|
1135 if (p is Int32?) return ToDouble((Int32?) p);
|
|
1136 if (p is Int64?) return ToDouble((Int64?) p);
|
|
1137 if (p is SByte?) return ToDouble((SByte?) p);
|
|
1138 if (p is Single?) return ToDouble((Single?) p);
|
|
1139 if (p is TimeSpan?) return ToDouble((TimeSpan?) p);
|
|
1140 if (p is UInt16?) return ToDouble((UInt16?) p);
|
|
1141 if (p is UInt32?) return ToDouble((UInt32?) p);
|
|
1142 if (p is UInt64?) return ToDouble((UInt64?) p);
|
|
1143 }
|
|
1144
|
|
1145 // Other Types
|
|
1146 //
|
|
1147 if (p is Binary) return ToDouble((Binary) p);
|
|
1148 if (p is Byte[]) return ToDouble((Byte[]) p);
|
|
1149
|
|
1150 #if !SILVERLIGHT
|
|
1151
|
|
1152 // Sql Types
|
|
1153 //
|
|
1154 if (p is INullable)
|
|
1155 {
|
|
1156 if (p is SqlBoolean) return ToDouble((SqlBoolean) p);
|
|
1157 if (p is SqlByte) return ToDouble((SqlByte) p);
|
|
1158 if (p is SqlDateTime) return ToDouble((SqlDateTime) p);
|
|
1159 if (p is SqlDecimal) return ToDouble((SqlDecimal) p);
|
|
1160 if (p is SqlDouble) return ToDouble((SqlDouble) p);
|
|
1161 if (p is SqlInt16) return ToDouble((SqlInt16) p);
|
|
1162 if (p is SqlInt32) return ToDouble((SqlInt32) p);
|
|
1163 if (p is SqlInt64) return ToDouble((SqlInt64) p);
|
|
1164 if (p is SqlMoney) return ToDouble((SqlMoney) p);
|
|
1165 if (p is SqlSingle) return ToDouble((SqlSingle) p);
|
|
1166 if (p is SqlString) return ToDouble((SqlString) p);
|
|
1167 }
|
|
1168
|
|
1169 #endif
|
|
1170
|
|
1171 if (p is IConvertible) return ((IConvertible)p).ToDouble(null);
|
|
1172
|
|
1173 throw CreateInvalidCastException(p.GetType(), typeof(Double));
|
|
1174 }
|
|
1175
|
|
1176 #endregion
|
|
1177
|
|
1178 #region Guid
|
|
1179
|
|
1180 // Simple Types
|
|
1181 //
|
|
1182 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1183 public static Guid ToGuid(String p) { return p == null ? Configuration.NullableValues.Guid : new Guid(p); }
|
|
1184
|
|
1185 // Nullable Types
|
|
1186 //
|
|
1187 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1188 public static Guid ToGuid(Guid? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Guid; }
|
|
1189
|
|
1190 // Other Types
|
|
1191 //
|
|
1192 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1193 public static Guid ToGuid(Binary p) { return p == null ? Configuration.NullableValues.Guid : new Guid(p.ToArray()); }
|
|
1194 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1195 public static Guid ToGuid(Byte[] p) { return p == null ? Configuration.NullableValues.Guid : new Guid(p); }
|
|
1196 /// <summary>Converts the value from <c>Type</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1197 public static Guid ToGuid(Type p) { return p == null ? Configuration.NullableValues.Guid : p.GUID; }
|
|
1198
|
|
1199 #if !SILVERLIGHT
|
|
1200
|
|
1201 // Sql Types
|
|
1202 //
|
|
1203 /// <summary>Converts the value from <c>SqlBinary</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1204 public static Guid ToGuid(SqlBinary p) { return p.IsNull ? Configuration.NullableValues.Guid : p.ToSqlGuid().Value; }
|
|
1205 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1206 public static Guid ToGuid(SqlGuid p) { return p.IsNull ? Configuration.NullableValues.Guid : p.Value; }
|
|
1207 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1208 public static Guid ToGuid(SqlString p) { return p.IsNull ? Configuration.NullableValues.Guid : new Guid(p.Value); }
|
|
1209
|
|
1210 #endif
|
|
1211
|
|
1212 // From Object
|
|
1213 //
|
|
1214 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Guid</c> value.</summary>
|
|
1215 public static Guid ToGuid(object p)
|
|
1216 {
|
|
1217 if (p == null) return Configuration.NullableValues.Guid;
|
|
1218
|
|
1219 if (p is Guid) return (Guid)p;
|
|
1220
|
|
1221 var type = p.GetType();
|
|
1222
|
|
1223 // Primitive types
|
|
1224 //
|
|
1225 switch (Type.GetTypeCode(type))
|
|
1226 {
|
|
1227 case TypeCode.DBNull : return Configuration.NullableValues.Guid;
|
|
1228 case TypeCode.String : return ToGuid((String)p);
|
|
1229 }
|
|
1230
|
|
1231 // Nullable Types
|
|
1232 //
|
|
1233 if (type.IsGenericType)
|
|
1234 {
|
|
1235 if (p is Guid?) return ToGuid((Guid?) p);
|
|
1236 }
|
|
1237
|
|
1238 // Other Types
|
|
1239 //
|
|
1240 if (p is Binary) return ToGuid((Binary) p);
|
|
1241 if (p is Byte[]) return ToGuid((Byte[]) p);
|
|
1242 if (p is Type) return ToGuid((Type) p);
|
|
1243
|
|
1244 #if !SILVERLIGHT
|
|
1245
|
|
1246 // Sql Types
|
|
1247 //
|
|
1248 if (p is INullable)
|
|
1249 {
|
|
1250 if (p is SqlBinary) return ToGuid((SqlBinary)p);
|
|
1251 if (p is SqlGuid) return ToGuid((SqlGuid) p);
|
|
1252 if (p is SqlString) return ToGuid((SqlString)p);
|
|
1253 }
|
|
1254
|
|
1255 #endif
|
|
1256
|
|
1257 throw CreateInvalidCastException(p.GetType(), typeof(Guid));
|
|
1258 }
|
|
1259
|
|
1260 #endregion
|
|
1261
|
|
1262 #region Int16
|
|
1263
|
|
1264 // Simple Types
|
|
1265 //
|
|
1266 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1267 public static Int16 ToInt16(Boolean p) { return p ? (Int16)1 : (Int16)0; }
|
|
1268 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1269 public static Int16 ToInt16(Byte p) { return p; }
|
|
1270 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1271 public static Int16 ToInt16(Char p) { return checked((Int16)p); }
|
|
1272 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1273 public static Int16 ToInt16(Decimal p) { return checked((Int16)p); }
|
|
1274 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1275 public static Int16 ToInt16(Double p) { return checked((Int16)p); }
|
|
1276 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1277 public static Int16 ToInt16(Int32 p) { return checked((Int16)p); }
|
|
1278 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1279 public static Int16 ToInt16(Int64 p) { return checked((Int16)p); }
|
|
1280 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1281 [CLSCompliant(false)]
|
|
1282 public static Int16 ToInt16(SByte p) { return p; }
|
|
1283 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1284 public static Int16 ToInt16(Single p) { return checked((Int16)p); }
|
|
1285 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1286 public static Int16 ToInt16(String p) { return p == null? Configuration.NullableValues.Int16 : Int16.Parse(p); }
|
|
1287 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1288 [CLSCompliant(false)]
|
|
1289 public static Int16 ToInt16(UInt16 p) { return checked((Int16)p); }
|
|
1290 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1291 [CLSCompliant(false)]
|
|
1292 public static Int16 ToInt16(UInt32 p) { return checked((Int16)p); }
|
|
1293 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1294 [CLSCompliant(false)]
|
|
1295 public static Int16 ToInt16(UInt64 p) { return checked((Int16)p); }
|
|
1296
|
|
1297 // Nullable Types
|
|
1298 //
|
|
1299 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1300 public static Int16 ToInt16(Boolean? p) { return p.HasValue && p.Value ? (Int16)1: (Int16)0; }
|
|
1301 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1302 public static Int16 ToInt16(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int16; }
|
|
1303 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1304 public static Int16 ToInt16(Char? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1305 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1306 public static Int16 ToInt16(Decimal? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1307 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1308 public static Int16 ToInt16(Double? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1309 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1310 public static Int16 ToInt16(Int16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int16; }
|
|
1311 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1312 public static Int16 ToInt16(Int32? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1313 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1314 public static Int16 ToInt16(Int64? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1315 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1316 [CLSCompliant(false)]
|
|
1317 public static Int16 ToInt16(SByte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int16; }
|
|
1318 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1319 public static Int16 ToInt16(Single? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1320 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1321 [CLSCompliant(false)]
|
|
1322 public static Int16 ToInt16(UInt16? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1323 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1324 [CLSCompliant(false)]
|
|
1325 public static Int16 ToInt16(UInt32? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1326 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1327 [CLSCompliant(false)]
|
|
1328 public static Int16 ToInt16(UInt64? p) { return p.HasValue ? checked((Int16)p.Value) : Configuration.NullableValues.Int16; }
|
|
1329
|
|
1330 // Other Types
|
|
1331 //
|
|
1332 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1333 public static Int16 ToInt16(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Int16 : BitConverter.ToInt16(p.ToArray(), 0); }
|
|
1334 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1335 public static Int16 ToInt16(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Int16 : BitConverter.ToInt16(p, 0); }
|
|
1336
|
|
1337 #if !SILVERLIGHT
|
|
1338
|
|
1339 // Sql Types
|
|
1340 //
|
|
1341 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1342 public static Int16 ToInt16(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1343 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1344 public static Int16 ToInt16(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Int16 : p.Value; }
|
|
1345 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1346 public static Int16 ToInt16(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1347 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1348 public static Int16 ToInt16(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1349 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1350 public static Int16 ToInt16(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Int16 : p.Value; }
|
|
1351 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1352 public static Int16 ToInt16(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1353 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1354 public static Int16 ToInt16(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1355 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1356 public static Int16 ToInt16(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1357 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1358 public static Int16 ToInt16(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1359 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1360 public static Int16 ToInt16(SqlString p) { return p.IsNull ? Configuration.NullableValues.Int16 : ToInt16(p.Value); }
|
|
1361
|
|
1362 #endif
|
|
1363
|
|
1364 // From Object
|
|
1365 //
|
|
1366 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Int16</c> value.</summary>
|
|
1367 public static Int16 ToInt16(object p)
|
|
1368 {
|
|
1369 if (p == null) return Configuration.NullableValues.Int16;
|
|
1370
|
|
1371 var type = p.GetType();
|
|
1372
|
|
1373 // Primitive types
|
|
1374 //
|
|
1375 switch (Type.GetTypeCode(type))
|
|
1376 {
|
|
1377 case TypeCode.DBNull : return Configuration.NullableValues.Int16;
|
|
1378 case TypeCode.Int16 : return (Int16)p;
|
|
1379 case TypeCode.SByte : return ToInt16((SByte) p);
|
|
1380 case TypeCode.Byte : return ToInt16((Byte) p);
|
|
1381 case TypeCode.Int32 : return ToInt16((Int32) p);
|
|
1382 case TypeCode.Int64 : return ToInt16((Int64) p);
|
|
1383 case TypeCode.UInt16 : return ToInt16((UInt16) p);
|
|
1384 case TypeCode.UInt32 : return ToInt16((UInt32) p);
|
|
1385 case TypeCode.UInt64 : return ToInt16((UInt64) p);
|
|
1386 case TypeCode.Single : return ToInt16((Single) p);
|
|
1387 case TypeCode.Double : return ToInt16((Double) p);
|
|
1388 case TypeCode.Decimal : return ToInt16((Decimal)p);
|
|
1389 case TypeCode.Char : return ToInt16((Char) p);
|
|
1390 case TypeCode.String : return ToInt16((String) p);
|
|
1391 case TypeCode.Boolean : return ToInt16((Boolean)p);
|
|
1392 }
|
|
1393
|
|
1394 // Nullable Types
|
|
1395 //
|
|
1396 if (type.IsGenericType)
|
|
1397 {
|
|
1398 if (p is Boolean?) return ToInt16((Boolean?) p);
|
|
1399 if (p is Byte?) return ToInt16((Byte?) p);
|
|
1400 if (p is Char?) return ToInt16((Char?) p);
|
|
1401 if (p is Decimal?) return ToInt16((Decimal?) p);
|
|
1402 if (p is Double?) return ToInt16((Double?) p);
|
|
1403 if (p is Int16?) return ToInt16((Int16?) p);
|
|
1404 if (p is Int32?) return ToInt16((Int32?) p);
|
|
1405 if (p is Int64?) return ToInt16((Int64?) p);
|
|
1406 if (p is SByte?) return ToInt16((SByte?) p);
|
|
1407 if (p is Single?) return ToInt16((Single?) p);
|
|
1408 if (p is UInt16?) return ToInt16((UInt16?) p);
|
|
1409 if (p is UInt32?) return ToInt16((UInt32?) p);
|
|
1410 if (p is UInt64?) return ToInt16((UInt64?) p);
|
|
1411 }
|
|
1412
|
|
1413 // Other Types
|
|
1414 //
|
|
1415 if (p is Binary) return ToInt16((Binary) p);
|
|
1416 if (p is Byte[]) return ToInt16((Byte[]) p);
|
|
1417
|
|
1418 #if !SILVERLIGHT
|
|
1419
|
|
1420 // Sql Types
|
|
1421 //
|
|
1422 if (p is INullable)
|
|
1423 {
|
|
1424 if (p is SqlBoolean) return ToInt16((SqlBoolean)p);
|
|
1425 if (p is SqlByte) return ToInt16((SqlByte) p);
|
|
1426 if (p is SqlDecimal) return ToInt16((SqlDecimal)p);
|
|
1427 if (p is SqlDouble) return ToInt16((SqlDouble) p);
|
|
1428 if (p is SqlInt16) return ToInt16((SqlInt16) p);
|
|
1429 if (p is SqlInt32) return ToInt16((SqlInt32) p);
|
|
1430 if (p is SqlInt64) return ToInt16((SqlInt64) p);
|
|
1431 if (p is SqlMoney) return ToInt16((SqlMoney) p);
|
|
1432 if (p is SqlSingle) return ToInt16((SqlSingle) p);
|
|
1433 if (p is SqlString) return ToInt16((SqlString) p);
|
|
1434 }
|
|
1435
|
|
1436 #endif
|
|
1437
|
|
1438 if (p is IConvertible) return ((IConvertible)p).ToInt16(null);
|
|
1439
|
|
1440 throw CreateInvalidCastException(p.GetType(), typeof(Int16));
|
|
1441 }
|
|
1442
|
|
1443 #endregion
|
|
1444
|
|
1445 #region Int32
|
|
1446
|
|
1447 // Simple Types
|
|
1448 //
|
|
1449 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1450 public static Int32 ToInt32(Boolean p) { return p ? (Int32)1 : (Int32)0; }
|
|
1451 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1452 public static Int32 ToInt32(Byte p) { return p; }
|
|
1453 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1454 public static Int32 ToInt32(Char p) { return p; }
|
|
1455 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1456 public static Int32 ToInt32(Decimal p) { return checked((Int32)p); }
|
|
1457 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1458 public static Int32 ToInt32(Double p) { return checked((Int32)p); }
|
|
1459 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1460 public static Int32 ToInt32(Int16 p) { return p; }
|
|
1461 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1462 public static Int32 ToInt32(Int64 p) { return checked((Int32)p); }
|
|
1463 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1464 [CLSCompliant(false)]
|
|
1465 public static Int32 ToInt32(SByte p) { return p; }
|
|
1466 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1467 public static Int32 ToInt32(Single p) { return checked((Int32)p); }
|
|
1468 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1469 public static Int32 ToInt32(String p) { return p == null? Configuration.NullableValues.Int32 : Int32.Parse(p); }
|
|
1470 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1471 [CLSCompliant(false)]
|
|
1472 public static Int32 ToInt32(UInt16 p) { return p; }
|
|
1473 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1474 [CLSCompliant(false)]
|
|
1475 public static Int32 ToInt32(UInt32 p) { return checked((Int32)p); }
|
|
1476 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1477 [CLSCompliant(false)]
|
|
1478 public static Int32 ToInt32(UInt64 p) { return checked((Int32)p); }
|
|
1479
|
|
1480 // Nullable Types
|
|
1481 //
|
|
1482 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1483 public static Int32 ToInt32(Boolean? p) { return p.HasValue && p.Value ? (Int32)1: (Int32)0; }
|
|
1484 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1485 public static Int32 ToInt32(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int32; }
|
|
1486 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1487 public static Int32 ToInt32(Char? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int32; }
|
|
1488 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1489 public static Int32 ToInt32(Decimal? p) { return p.HasValue ? checked((Int32)p.Value) : Configuration.NullableValues.Int32; }
|
|
1490 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1491 public static Int32 ToInt32(Double? p) { return p.HasValue ? checked((Int32)p.Value) : Configuration.NullableValues.Int32; }
|
|
1492 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1493 public static Int32 ToInt32(Int16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int32; }
|
|
1494 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1495 public static Int32 ToInt32(Int32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int32; }
|
|
1496 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1497 public static Int32 ToInt32(Int64? p) { return p.HasValue ? checked((Int32)p.Value) : Configuration.NullableValues.Int32; }
|
|
1498 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1499 [CLSCompliant(false)]
|
|
1500 public static Int32 ToInt32(SByte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int32; }
|
|
1501 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1502 public static Int32 ToInt32(Single? p) { return p.HasValue ? checked((Int32)p.Value) : Configuration.NullableValues.Int32; }
|
|
1503 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1504 [CLSCompliant(false)]
|
|
1505 public static Int32 ToInt32(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int32; }
|
|
1506 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1507 [CLSCompliant(false)]
|
|
1508 public static Int32 ToInt32(UInt32? p) { return p.HasValue ? checked((Int32)p.Value) : Configuration.NullableValues.Int32; }
|
|
1509 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1510 [CLSCompliant(false)]
|
|
1511 public static Int32 ToInt32(UInt64? p) { return p.HasValue ? checked((Int32)p.Value) : Configuration.NullableValues.Int32; }
|
|
1512
|
|
1513 // Other Types
|
|
1514 //
|
|
1515 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1516 public static Int32 ToInt32(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Int32 : BitConverter.ToInt32(p.ToArray(), 0); }
|
|
1517 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1518 public static Int32 ToInt32(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Int32 : BitConverter.ToInt32(p, 0); }
|
|
1519
|
|
1520 #if !SILVERLIGHT
|
|
1521
|
|
1522 // Sql Types
|
|
1523 //
|
|
1524 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1525 public static Int32 ToInt32(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Int32 : ToInt32(p.Value); }
|
|
1526 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1527 public static Int32 ToInt32(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Int32 : p.Value; }
|
|
1528 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1529 public static Int32 ToInt32(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Int32 : ToInt32(p.Value); }
|
|
1530 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1531 public static Int32 ToInt32(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Int32 : ToInt32(p.Value); }
|
|
1532 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1533 public static Int32 ToInt32(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Int32 : p.Value; }
|
|
1534 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1535 public static Int32 ToInt32(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Int32 : p.Value; }
|
|
1536 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1537 public static Int32 ToInt32(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Int32 : ToInt32(p.Value); }
|
|
1538 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1539 public static Int32 ToInt32(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Int32 : ToInt32(p.Value); }
|
|
1540 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1541 public static Int32 ToInt32(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Int32 : ToInt32(p.Value); }
|
|
1542 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1543 public static Int32 ToInt32(SqlString p) { return p.IsNull ? Configuration.NullableValues.Int32 : ToInt32(p.Value); }
|
|
1544
|
|
1545 #endif
|
|
1546
|
|
1547 // From Object
|
|
1548 //
|
|
1549 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Int32</c> value.</summary>
|
|
1550 public static Int32 ToInt32(object p)
|
|
1551 {
|
|
1552 if (p == null) return Configuration.NullableValues.Int32;
|
|
1553
|
|
1554 var type = p.GetType();
|
|
1555
|
|
1556 // Primitive types
|
|
1557 //
|
|
1558 switch (Type.GetTypeCode(type))
|
|
1559 {
|
|
1560 case TypeCode.DBNull : return Configuration.NullableValues.Int32;
|
|
1561 case TypeCode.Int32 : return (Int32)p;
|
|
1562 case TypeCode.SByte : return ToInt32((SByte) p);
|
|
1563 case TypeCode.Int16 : return ToInt32((Int16) p);
|
|
1564 case TypeCode.Byte : return ToInt32((Byte) p);
|
|
1565 case TypeCode.UInt16 : return ToInt32((UInt16) p);
|
|
1566 case TypeCode.Char : return ToInt32((Char) p);
|
|
1567 case TypeCode.Int64 : return ToInt32((Int64) p);
|
|
1568 case TypeCode.UInt32 : return ToInt32((UInt32) p);
|
|
1569 case TypeCode.UInt64 : return ToInt32((UInt64) p);
|
|
1570 case TypeCode.Single : return ToInt32((Single) p);
|
|
1571 case TypeCode.Double : return ToInt32((Double) p);
|
|
1572 case TypeCode.Decimal : return ToInt32((Decimal)p);
|
|
1573 case TypeCode.String : return ToInt32((String) p);
|
|
1574 case TypeCode.Boolean : return ToInt32((Boolean)p);
|
|
1575 }
|
|
1576
|
|
1577 // Nullable Types
|
|
1578 //
|
|
1579 if (type.IsGenericType)
|
|
1580 {
|
|
1581 if (p is Boolean?) return ToInt32((Boolean?) p);
|
|
1582 if (p is Byte?) return ToInt32((Byte?) p);
|
|
1583 if (p is Char?) return ToInt32((Char?) p);
|
|
1584 if (p is Decimal?) return ToInt32((Decimal?) p);
|
|
1585 if (p is Double?) return ToInt32((Double?) p);
|
|
1586 if (p is Int16?) return ToInt32((Int16?) p);
|
|
1587 if (p is Int32?) return ToInt32((Int32?) p);
|
|
1588 if (p is Int64?) return ToInt32((Int64?) p);
|
|
1589 if (p is SByte?) return ToInt32((SByte?) p);
|
|
1590 if (p is Single?) return ToInt32((Single?) p);
|
|
1591 if (p is UInt16?) return ToInt32((UInt16?) p);
|
|
1592 if (p is UInt32?) return ToInt32((UInt32?) p);
|
|
1593 if (p is UInt64?) return ToInt32((UInt64?) p);
|
|
1594 }
|
|
1595
|
|
1596 // Other Types
|
|
1597 //
|
|
1598 if (p is Binary) return ToInt32((Binary) p);
|
|
1599 if (p is Byte[]) return ToInt32((Byte[]) p);
|
|
1600
|
|
1601 #if !SILVERLIGHT
|
|
1602
|
|
1603 // Sql Types
|
|
1604 //
|
|
1605 if (p is INullable)
|
|
1606 {
|
|
1607 if (p is SqlBoolean) return ToInt32((SqlBoolean)p);
|
|
1608 if (p is SqlByte) return ToInt32((SqlByte) p);
|
|
1609 if (p is SqlDecimal) return ToInt32((SqlDecimal)p);
|
|
1610 if (p is SqlDouble) return ToInt32((SqlDouble) p);
|
|
1611 if (p is SqlInt16) return ToInt32((SqlInt16) p);
|
|
1612 if (p is SqlInt32) return ToInt32((SqlInt32) p);
|
|
1613 if (p is SqlInt64) return ToInt32((SqlInt64) p);
|
|
1614 if (p is SqlMoney) return ToInt32((SqlMoney) p);
|
|
1615 if (p is SqlSingle) return ToInt32((SqlSingle) p);
|
|
1616 if (p is SqlString) return ToInt32((SqlString) p);
|
|
1617 }
|
|
1618
|
|
1619 #endif
|
|
1620
|
|
1621 if (p is IConvertible) return ((IConvertible)p).ToInt32(null);
|
|
1622
|
|
1623 throw CreateInvalidCastException(p.GetType(), typeof(Int32));
|
|
1624 }
|
|
1625
|
|
1626 #endregion
|
|
1627
|
|
1628 #region Int64
|
|
1629
|
|
1630 // Simple Types
|
|
1631 //
|
|
1632 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1633 public static Int64 ToInt64(Boolean p) { return p ? (Int64)1 : (Int64)0; }
|
|
1634 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1635 public static Int64 ToInt64(Byte p) { return p; }
|
|
1636 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1637 public static Int64 ToInt64(Char p) { return p; }
|
|
1638 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1639 public static Int64 ToInt64(DateTime p) { return (p - DateTime.MinValue).Ticks; }
|
|
1640 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1641 public static Int64 ToInt64(DateTimeOffset p) { return (p - DateTime.MinValue).Ticks; }
|
|
1642 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1643 public static Int64 ToInt64(Decimal p) { return checked((Int64)p); }
|
|
1644 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1645 public static Int64 ToInt64(Double p) { return checked((Int64)p); }
|
|
1646 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1647 public static Int64 ToInt64(Int16 p) { return p; }
|
|
1648 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1649 public static Int64 ToInt64(Int32 p) { return p; }
|
|
1650 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1651 [CLSCompliant(false)]
|
|
1652 public static Int64 ToInt64(SByte p) { return p; }
|
|
1653 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1654 public static Int64 ToInt64(Single p) { return checked((Int64)p); }
|
|
1655 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1656 public static Int64 ToInt64(String p) { return p == null? Configuration.NullableValues.Int64 : Int64.Parse(p); }
|
|
1657 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1658 public static Int64 ToInt64(TimeSpan p) { return p.Ticks; }
|
|
1659 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1660 [CLSCompliant(false)]
|
|
1661 public static Int64 ToInt64(UInt16 p) { return p; }
|
|
1662 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1663 [CLSCompliant(false)]
|
|
1664 public static Int64 ToInt64(UInt32 p) { return p; }
|
|
1665 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1666 [CLSCompliant(false)]
|
|
1667 public static Int64 ToInt64(UInt64 p) { return checked((Int64)p); }
|
|
1668
|
|
1669 // Nullable Types
|
|
1670 //
|
|
1671 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1672 public static Int64 ToInt64(Boolean? p) { return p.HasValue && p.Value ? (Int64)1: (Int64)0; }
|
|
1673 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1674 public static Int64 ToInt64(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1675 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1676 public static Int64 ToInt64(Char? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1677 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1678 public static Int64 ToInt64(DateTime? p) { return p.HasValue ? (p.Value - DateTime.MinValue).Ticks : 0; }
|
|
1679 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1680 public static Int64 ToInt64(DateTimeOffset? p) { return p.HasValue ? (p.Value - DateTime.MinValue).Ticks : 0; }
|
|
1681 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1682 public static Int64 ToInt64(Decimal? p) { return p.HasValue ? checked((Int64)p.Value) : Configuration.NullableValues.Int64; }
|
|
1683 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1684 public static Int64 ToInt64(Double? p) { return p.HasValue ? checked((Int64)p.Value) : Configuration.NullableValues.Int64; }
|
|
1685 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1686 public static Int64 ToInt64(Int16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1687 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1688 public static Int64 ToInt64(Int32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1689 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1690 public static Int64 ToInt64(Int64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1691 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1692 [CLSCompliant(false)]
|
|
1693 public static Int64 ToInt64(SByte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1694 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1695 public static Int64 ToInt64(Single? p) { return p.HasValue ? checked((Int64)p.Value) : Configuration.NullableValues.Int64; }
|
|
1696 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1697 public static Int64 ToInt64(TimeSpan? p) { return p.HasValue ? p.Value.Ticks : 0; }
|
|
1698 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1699 [CLSCompliant(false)]
|
|
1700 public static Int64 ToInt64(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1701 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1702 [CLSCompliant(false)]
|
|
1703 public static Int64 ToInt64(UInt32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Int64; }
|
|
1704 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1705 [CLSCompliant(false)]
|
|
1706 public static Int64 ToInt64(UInt64? p) { return p.HasValue ? checked((Int64)p.Value) : Configuration.NullableValues.Int64; }
|
|
1707
|
|
1708 // Other Types
|
|
1709 //
|
|
1710 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1711 public static Int64 ToInt64(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Int64 : BitConverter.ToInt64(p.ToArray(), 0); }
|
|
1712 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1713 public static Int64 ToInt64(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Int64 : BitConverter.ToInt64(p, 0); }
|
|
1714
|
|
1715 #if !SILVERLIGHT
|
|
1716
|
|
1717 // Sql Types
|
|
1718 //
|
|
1719 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1720 public static Int64 ToInt64(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Int64 : ToInt64(p.Value); }
|
|
1721 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1722 public static Int64 ToInt64(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Int64 : p.Value; }
|
|
1723 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1724 public static Int64 ToInt64(SqlDateTime p) { return p.IsNull ? Configuration.NullableValues.Int64 : ToInt64(p.Value); }
|
|
1725 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1726 public static Int64 ToInt64(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Int64 : ToInt64(p.Value); }
|
|
1727 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1728 public static Int64 ToInt64(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Int64 : ToInt64(p.Value); }
|
|
1729 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1730 public static Int64 ToInt64(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Int64 : p.Value; }
|
|
1731 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1732 public static Int64 ToInt64(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Int64 : p.Value; }
|
|
1733 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1734 public static Int64 ToInt64(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Int64 : p.Value; }
|
|
1735 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1736 public static Int64 ToInt64(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Int64 : ToInt64(p.Value); }
|
|
1737 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1738 public static Int64 ToInt64(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Int64 : ToInt64(p.Value); }
|
|
1739 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1740 public static Int64 ToInt64(SqlString p) { return p.IsNull ? Configuration.NullableValues.Int64 : ToInt64(p.Value); }
|
|
1741
|
|
1742 #endif
|
|
1743
|
|
1744 // From Object
|
|
1745 //
|
|
1746 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Int64</c> value.</summary>
|
|
1747 public static Int64 ToInt64(object p)
|
|
1748 {
|
|
1749 if (p == null) return Configuration.NullableValues.Int64;
|
|
1750
|
|
1751 var type = p.GetType();
|
|
1752
|
|
1753 // Primitive types
|
|
1754 //
|
|
1755 switch (Type.GetTypeCode(type))
|
|
1756 {
|
|
1757 case TypeCode.DBNull : return Configuration.NullableValues.Int64;
|
|
1758 case TypeCode.Int64 : return (Int64)p;
|
|
1759 case TypeCode.DateTime : return ToInt64((DateTime)p);
|
|
1760 case TypeCode.SByte : return ToInt64((SByte) p);
|
|
1761 case TypeCode.Int16 : return ToInt64((Int16) p);
|
|
1762 case TypeCode.Int32 : return ToInt64((Int32) p);
|
|
1763 case TypeCode.Byte : return ToInt64((Byte) p);
|
|
1764 case TypeCode.UInt16 : return ToInt64((UInt16) p);
|
|
1765 case TypeCode.UInt32 : return ToInt64((UInt32) p);
|
|
1766 case TypeCode.Char : return ToInt64((Char) p);
|
|
1767 case TypeCode.UInt64 : return ToInt64((UInt64) p);
|
|
1768 case TypeCode.Single : return ToInt64((Single) p);
|
|
1769 case TypeCode.Double : return ToInt64((Double) p);
|
|
1770 case TypeCode.Decimal : return ToInt64((Decimal) p);
|
|
1771 case TypeCode.String : return ToInt64((String) p);
|
|
1772 case TypeCode.Boolean : return ToInt64((Boolean) p);
|
|
1773 }
|
|
1774
|
|
1775 // Simple Types
|
|
1776 //
|
|
1777 if (p is DateTimeOffset) return ToInt64((DateTimeOffset) p);
|
|
1778 if (p is TimeSpan) return ToInt64((TimeSpan) p);
|
|
1779
|
|
1780 // Nullable Types
|
|
1781 //
|
|
1782 if (type.IsGenericType)
|
|
1783 {
|
|
1784 if (p is Boolean?) return ToInt64((Boolean?) p);
|
|
1785 if (p is Byte?) return ToInt64((Byte?) p);
|
|
1786 if (p is Char?) return ToInt64((Char?) p);
|
|
1787 if (p is DateTime?) return ToInt64((DateTime?) p);
|
|
1788 if (p is DateTimeOffset?) return ToInt64((DateTimeOffset?)p);
|
|
1789 if (p is Decimal?) return ToInt64((Decimal?) p);
|
|
1790 if (p is Double?) return ToInt64((Double?) p);
|
|
1791 if (p is Int16?) return ToInt64((Int16?) p);
|
|
1792 if (p is Int32?) return ToInt64((Int32?) p);
|
|
1793 if (p is Int64?) return ToInt64((Int64?) p);
|
|
1794 if (p is SByte?) return ToInt64((SByte?) p);
|
|
1795 if (p is Single?) return ToInt64((Single?) p);
|
|
1796 if (p is TimeSpan?) return ToInt64((TimeSpan?) p);
|
|
1797 if (p is UInt16?) return ToInt64((UInt16?) p);
|
|
1798 if (p is UInt32?) return ToInt64((UInt32?) p);
|
|
1799 if (p is UInt64?) return ToInt64((UInt64?) p);
|
|
1800 }
|
|
1801
|
|
1802 // Other Types
|
|
1803 //
|
|
1804 if (p is Binary) return ToInt64((Binary) p);
|
|
1805 if (p is Byte[]) return ToInt64((Byte[]) p);
|
|
1806
|
|
1807 #if !SILVERLIGHT
|
|
1808
|
|
1809 // Sql Types
|
|
1810 //
|
|
1811 if (p is INullable)
|
|
1812 {
|
|
1813 if (p is SqlBoolean) return ToInt64((SqlBoolean) p);
|
|
1814 if (p is SqlByte) return ToInt64((SqlByte) p);
|
|
1815 if (p is SqlDateTime) return ToInt64((SqlDateTime) p);
|
|
1816 if (p is SqlDecimal) return ToInt64((SqlDecimal) p);
|
|
1817 if (p is SqlDouble) return ToInt64((SqlDouble) p);
|
|
1818 if (p is SqlInt16) return ToInt64((SqlInt16) p);
|
|
1819 if (p is SqlInt32) return ToInt64((SqlInt32) p);
|
|
1820 if (p is SqlInt64) return ToInt64((SqlInt64) p);
|
|
1821 if (p is SqlMoney) return ToInt64((SqlMoney) p);
|
|
1822 if (p is SqlSingle) return ToInt64((SqlSingle) p);
|
|
1823 if (p is SqlString) return ToInt64((SqlString) p);
|
|
1824 }
|
|
1825
|
|
1826 #endif
|
|
1827
|
|
1828 if (p is IConvertible) return ((IConvertible)p).ToInt64(null);
|
|
1829
|
|
1830 throw CreateInvalidCastException(p.GetType(), typeof(Int64));
|
|
1831 }
|
|
1832
|
|
1833 #endregion
|
|
1834
|
|
1835 #region SByte
|
|
1836
|
|
1837 // Simple Types
|
|
1838 //
|
|
1839 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1840 [CLSCompliant(false)]
|
|
1841 public static SByte ToSByte(Boolean p) { return p ? (SByte)1 : (SByte)0; }
|
|
1842 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1843 [CLSCompliant(false)]
|
|
1844 public static SByte ToSByte(Byte p) { return checked((SByte)p); }
|
|
1845 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1846 [CLSCompliant(false)]
|
|
1847 public static SByte ToSByte(Char p) { return checked((SByte)p); }
|
|
1848 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1849 [CLSCompliant(false)]
|
|
1850 public static SByte ToSByte(Decimal p) { return checked((SByte)p); }
|
|
1851 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1852 [CLSCompliant(false)]
|
|
1853 public static SByte ToSByte(Double p) { return checked((SByte)p); }
|
|
1854 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1855 [CLSCompliant(false)]
|
|
1856 public static SByte ToSByte(Int16 p) { return checked((SByte)p); }
|
|
1857 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1858 [CLSCompliant(false)]
|
|
1859 public static SByte ToSByte(Int32 p) { return checked((SByte)p); }
|
|
1860 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1861 [CLSCompliant(false)]
|
|
1862 public static SByte ToSByte(Int64 p) { return checked((SByte)p); }
|
|
1863 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1864 [CLSCompliant(false)]
|
|
1865 public static SByte ToSByte(Single p) { return checked((SByte)p); }
|
|
1866 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1867 [CLSCompliant(false)]
|
|
1868 public static SByte ToSByte(String p) { return p == null? Configuration.NullableValues.SByte : SByte.Parse(p); }
|
|
1869 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1870 [CLSCompliant(false)]
|
|
1871 public static SByte ToSByte(UInt16 p) { return checked((SByte)p); }
|
|
1872 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1873 [CLSCompliant(false)]
|
|
1874 public static SByte ToSByte(UInt32 p) { return checked((SByte)p); }
|
|
1875 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1876 [CLSCompliant(false)]
|
|
1877 public static SByte ToSByte(UInt64 p) { return checked((SByte)p); }
|
|
1878
|
|
1879 // Nullable Types
|
|
1880 //
|
|
1881 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1882 [CLSCompliant(false)]
|
|
1883 public static SByte ToSByte(Boolean? p) { return p.HasValue && p.Value ? (SByte)1: (SByte)0; }
|
|
1884 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1885 [CLSCompliant(false)]
|
|
1886 public static SByte ToSByte(Byte? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1887 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1888 [CLSCompliant(false)]
|
|
1889 public static SByte ToSByte(Char? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1890 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1891 [CLSCompliant(false)]
|
|
1892 public static SByte ToSByte(Decimal? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1893 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1894 [CLSCompliant(false)]
|
|
1895 public static SByte ToSByte(Double? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1896 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1897 [CLSCompliant(false)]
|
|
1898 public static SByte ToSByte(Int16? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1899 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1900 [CLSCompliant(false)]
|
|
1901 public static SByte ToSByte(Int32? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1902 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1903 [CLSCompliant(false)]
|
|
1904 public static SByte ToSByte(Int64? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1905 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1906 [CLSCompliant(false)]
|
|
1907 public static SByte ToSByte(SByte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.SByte; }
|
|
1908 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1909 [CLSCompliant(false)]
|
|
1910 public static SByte ToSByte(Single? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1911 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1912 [CLSCompliant(false)]
|
|
1913 public static SByte ToSByte(UInt16? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1914 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1915 [CLSCompliant(false)]
|
|
1916 public static SByte ToSByte(UInt32? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1917 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1918 [CLSCompliant(false)]
|
|
1919 public static SByte ToSByte(UInt64? p) { return p.HasValue ? checked((SByte)p.Value) : Configuration.NullableValues.SByte; }
|
|
1920
|
|
1921 // Other Types
|
|
1922 //
|
|
1923 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1924 [CLSCompliant(false)]
|
|
1925 public static SByte ToSByte(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.SByte : checked((SByte)p.ToArray()[0]); }
|
|
1926 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1927 [CLSCompliant(false)]
|
|
1928 public static SByte ToSByte(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.SByte : checked((SByte)p[0]); }
|
|
1929
|
|
1930 #if !SILVERLIGHT
|
|
1931
|
|
1932 // Sql Types
|
|
1933 //
|
|
1934 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1935 [CLSCompliant(false)]
|
|
1936 public static SByte ToSByte(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1937 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1938 [CLSCompliant(false)]
|
|
1939 public static SByte ToSByte(SqlByte p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1940 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1941 [CLSCompliant(false)]
|
|
1942 public static SByte ToSByte(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1943 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1944 [CLSCompliant(false)]
|
|
1945 public static SByte ToSByte(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1946 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1947 [CLSCompliant(false)]
|
|
1948 public static SByte ToSByte(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1949 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1950 [CLSCompliant(false)]
|
|
1951 public static SByte ToSByte(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1952 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1953 [CLSCompliant(false)]
|
|
1954 public static SByte ToSByte(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1955 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1956 [CLSCompliant(false)]
|
|
1957 public static SByte ToSByte(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1958 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1959 [CLSCompliant(false)]
|
|
1960 public static SByte ToSByte(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1961 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1962 [CLSCompliant(false)]
|
|
1963 public static SByte ToSByte(SqlString p) { return p.IsNull ? Configuration.NullableValues.SByte : ToSByte(p.Value); }
|
|
1964
|
|
1965 #endif
|
|
1966
|
|
1967 // From Object
|
|
1968 //
|
|
1969 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SByte</c> value.</summary>
|
|
1970 [CLSCompliant(false)]
|
|
1971 public static SByte ToSByte(object p)
|
|
1972 {
|
|
1973 if (p == null) return Configuration.NullableValues.SByte;
|
|
1974
|
|
1975 var type = p.GetType();
|
|
1976
|
|
1977 // Primitive types
|
|
1978 //
|
|
1979 switch (Type.GetTypeCode(type))
|
|
1980 {
|
|
1981 case TypeCode.DBNull : return Configuration.NullableValues.SByte;
|
|
1982 case TypeCode.SByte : return (SByte)p;
|
|
1983 case TypeCode.Int16 : return ToSByte((Int16) p);
|
|
1984 case TypeCode.Int32 : return ToSByte((Int32) p);
|
|
1985 case TypeCode.Int64 : return ToSByte((Int64) p);
|
|
1986 case TypeCode.Byte : return ToSByte((Byte) p);
|
|
1987 case TypeCode.UInt16 : return ToSByte((UInt16) p);
|
|
1988 case TypeCode.UInt32 : return ToSByte((UInt32) p);
|
|
1989 case TypeCode.UInt64 : return ToSByte((UInt64) p);
|
|
1990 case TypeCode.Single : return ToSByte((Single) p);
|
|
1991 case TypeCode.Double : return ToSByte((Double) p);
|
|
1992 case TypeCode.Decimal : return ToSByte((Decimal)p);
|
|
1993 case TypeCode.Char : return ToSByte((Char) p);
|
|
1994 case TypeCode.String : return ToSByte((String) p);
|
|
1995 case TypeCode.Boolean : return ToSByte((Boolean)p);
|
|
1996 }
|
|
1997
|
|
1998 // Nullable Types
|
|
1999 //
|
|
2000 if (type.IsGenericType)
|
|
2001 {
|
|
2002 if (p is Boolean?) return ToSByte((Boolean?) p);
|
|
2003 if (p is Byte?) return ToSByte((Byte?) p);
|
|
2004 if (p is Char?) return ToSByte((Char?) p);
|
|
2005 if (p is Decimal?) return ToSByte((Decimal?) p);
|
|
2006 if (p is Double?) return ToSByte((Double?) p);
|
|
2007 if (p is Int16?) return ToSByte((Int16?) p);
|
|
2008 if (p is Int32?) return ToSByte((Int32?) p);
|
|
2009 if (p is Int64?) return ToSByte((Int64?) p);
|
|
2010 if (p is SByte?) return ToSByte((SByte?) p);
|
|
2011 if (p is Single?) return ToSByte((Single?) p);
|
|
2012 if (p is UInt16?) return ToSByte((UInt16?) p);
|
|
2013 if (p is UInt32?) return ToSByte((UInt32?) p);
|
|
2014 if (p is UInt64?) return ToSByte((UInt64?) p);
|
|
2015 }
|
|
2016
|
|
2017 // Other Types
|
|
2018 //
|
|
2019 if (p is Binary) return ToSByte((Binary) p);
|
|
2020 if (p is Byte[]) return ToSByte((Byte[]) p);
|
|
2021
|
|
2022 #if !SILVERLIGHT
|
|
2023
|
|
2024 // Sql Types
|
|
2025 //
|
|
2026 if (p is INullable)
|
|
2027 {
|
|
2028 if (p is SqlBoolean) return ToSByte((SqlBoolean)p);
|
|
2029 if (p is SqlByte) return ToSByte((SqlByte) p);
|
|
2030 if (p is SqlDecimal) return ToSByte((SqlDecimal)p);
|
|
2031 if (p is SqlDouble) return ToSByte((SqlDouble) p);
|
|
2032 if (p is SqlInt16) return ToSByte((SqlInt16) p);
|
|
2033 if (p is SqlInt32) return ToSByte((SqlInt32) p);
|
|
2034 if (p is SqlInt64) return ToSByte((SqlInt64) p);
|
|
2035 if (p is SqlMoney) return ToSByte((SqlMoney) p);
|
|
2036 if (p is SqlSingle) return ToSByte((SqlSingle) p);
|
|
2037 if (p is SqlString) return ToSByte((SqlString) p);
|
|
2038 }
|
|
2039
|
|
2040 #endif
|
|
2041
|
|
2042 if (p is IConvertible) return ((IConvertible)p).ToSByte(null);
|
|
2043
|
|
2044 throw CreateInvalidCastException(p.GetType(), typeof(SByte));
|
|
2045 }
|
|
2046
|
|
2047 #endregion
|
|
2048
|
|
2049 #region Single
|
|
2050
|
|
2051 // Simple Types
|
|
2052 //
|
|
2053 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Single</c> value.</summary>
|
|
2054 public static Single ToSingle(Boolean p) { return p ? (Single)1 : (Single)0; }
|
|
2055 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Single</c> value.</summary>
|
|
2056 public static Single ToSingle(Byte p) { return p; }
|
|
2057 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Single</c> value.</summary>
|
|
2058 public static Single ToSingle(Char p) { return p; }
|
|
2059 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Single</c> value.</summary>
|
|
2060 public static Single ToSingle(Decimal p) { return checked((Single)p); }
|
|
2061 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Single</c> value.</summary>
|
|
2062 public static Single ToSingle(Double p) { return checked((Single)p); }
|
|
2063 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Single</c> value.</summary>
|
|
2064 public static Single ToSingle(Int16 p) { return p; }
|
|
2065 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Single</c> value.</summary>
|
|
2066 public static Single ToSingle(Int32 p) { return p; }
|
|
2067 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Single</c> value.</summary>
|
|
2068 public static Single ToSingle(Int64 p) { return p; }
|
|
2069 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Single</c> value.</summary>
|
|
2070 [CLSCompliant(false)]
|
|
2071 public static Single ToSingle(SByte p) { return p; }
|
|
2072 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Single</c> value.</summary>
|
|
2073 public static Single ToSingle(String p) { return p == null? Configuration.NullableValues.Single : Single.Parse(p); }
|
|
2074 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Single</c> value.</summary>
|
|
2075 [CLSCompliant(false)]
|
|
2076 public static Single ToSingle(UInt16 p) { return p; }
|
|
2077 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Single</c> value.</summary>
|
|
2078 [CLSCompliant(false)]
|
|
2079 public static Single ToSingle(UInt32 p) { return p; }
|
|
2080 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Single</c> value.</summary>
|
|
2081 [CLSCompliant(false)]
|
|
2082 public static Single ToSingle(UInt64 p) { return p; }
|
|
2083
|
|
2084 // Nullable Types
|
|
2085 //
|
|
2086 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2087 public static Single ToSingle(Boolean? p) { return p.HasValue && p.Value ? (Single)1: (Single)0; }
|
|
2088 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2089 public static Single ToSingle(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2090 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2091 public static Single ToSingle(Char? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2092 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2093 public static Single ToSingle(Decimal? p) { return p.HasValue ? checked((Single)p.Value) : Configuration.NullableValues.Single; }
|
|
2094 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2095 public static Single ToSingle(Double? p) { return p.HasValue ? checked((Single)p.Value) : Configuration.NullableValues.Single; }
|
|
2096 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2097 public static Single ToSingle(Int16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2098 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2099 public static Single ToSingle(Int32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2100 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2101 public static Single ToSingle(Int64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2102 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2103 [CLSCompliant(false)]
|
|
2104 public static Single ToSingle(SByte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2105 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2106 public static Single ToSingle(Single? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2107 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2108 [CLSCompliant(false)]
|
|
2109 public static Single ToSingle(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2110 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2111 [CLSCompliant(false)]
|
|
2112 public static Single ToSingle(UInt32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2113 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Single</c> value.</summary>
|
|
2114 [CLSCompliant(false)]
|
|
2115 public static Single ToSingle(UInt64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.Single; }
|
|
2116
|
|
2117 // Other Types
|
|
2118 //
|
|
2119 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Single</c> value.</summary>
|
|
2120 public static Single ToSingle(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Single : BitConverter.ToSingle(p.ToArray(), 0); }
|
|
2121 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Single</c> value.</summary>
|
|
2122 public static Single ToSingle(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.Single : BitConverter.ToSingle(p, 0); }
|
|
2123
|
|
2124 #if !SILVERLIGHT
|
|
2125
|
|
2126 // Sql Types
|
|
2127 //
|
|
2128 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Single</c> value.</summary>
|
|
2129 public static Single ToSingle(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.Single : ToSingle(p.Value); }
|
|
2130 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Single</c> value.</summary>
|
|
2131 public static Single ToSingle(SqlByte p) { return p.IsNull ? Configuration.NullableValues.Single : p.Value; }
|
|
2132 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Single</c> value.</summary>
|
|
2133 public static Single ToSingle(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.Single : ToSingle(p.Value); }
|
|
2134 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Single</c> value.</summary>
|
|
2135 public static Single ToSingle(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.Single : ToSingle(p.Value); }
|
|
2136 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Single</c> value.</summary>
|
|
2137 public static Single ToSingle(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.Single : p.Value; }
|
|
2138 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Single</c> value.</summary>
|
|
2139 public static Single ToSingle(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.Single : p.Value; }
|
|
2140 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Single</c> value.</summary>
|
|
2141 public static Single ToSingle(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.Single : p.Value; }
|
|
2142 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Single</c> value.</summary>
|
|
2143 public static Single ToSingle(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.Single : ToSingle(p.Value); }
|
|
2144 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Single</c> value.</summary>
|
|
2145 public static Single ToSingle(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.Single : p.Value; }
|
|
2146 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Single</c> value.</summary>
|
|
2147 public static Single ToSingle(SqlString p) { return p.IsNull ? Configuration.NullableValues.Single : ToSingle(p.Value); }
|
|
2148
|
|
2149 #endif
|
|
2150
|
|
2151 // From Object
|
|
2152 //
|
|
2153 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Single</c> value.</summary>
|
|
2154 public static Single ToSingle(object p)
|
|
2155 {
|
|
2156 if (p == null) return Configuration.NullableValues.Single;
|
|
2157
|
|
2158 var type = p.GetType();
|
|
2159
|
|
2160 // Primitive types
|
|
2161 //
|
|
2162 switch (Type.GetTypeCode(type))
|
|
2163 {
|
|
2164 case TypeCode.DBNull : return Configuration.NullableValues.Single;
|
|
2165 case TypeCode.Single : return (Single)p;
|
|
2166 case TypeCode.SByte : return ToSingle((SByte) p);
|
|
2167 case TypeCode.Int16 : return ToSingle((Int16) p);
|
|
2168 case TypeCode.Int32 : return ToSingle((Int32) p);
|
|
2169 case TypeCode.Int64 : return ToSingle((Int64) p);
|
|
2170 case TypeCode.Byte : return ToSingle((Byte) p);
|
|
2171 case TypeCode.UInt16 : return ToSingle((UInt16) p);
|
|
2172 case TypeCode.UInt32 : return ToSingle((UInt32) p);
|
|
2173 case TypeCode.Char : return ToSingle((Char) p);
|
|
2174 case TypeCode.UInt64 : return ToSingle((UInt64) p);
|
|
2175 case TypeCode.Double : return ToSingle((Double) p);
|
|
2176 case TypeCode.Decimal : return ToSingle((Decimal)p);
|
|
2177 case TypeCode.String : return ToSingle((String) p);
|
|
2178 case TypeCode.Boolean : return ToSingle((Boolean)p);
|
|
2179 }
|
|
2180
|
|
2181 // Nullable Types
|
|
2182 //
|
|
2183 if (type.IsGenericType)
|
|
2184 {
|
|
2185 if (p is Boolean?) return ToSingle((Boolean?) p);
|
|
2186 if (p is Byte?) return ToSingle((Byte?) p);
|
|
2187 if (p is Char?) return ToSingle((Char?) p);
|
|
2188 if (p is Decimal?) return ToSingle((Decimal?) p);
|
|
2189 if (p is Double?) return ToSingle((Double?) p);
|
|
2190 if (p is Int16?) return ToSingle((Int16?) p);
|
|
2191 if (p is Int32?) return ToSingle((Int32?) p);
|
|
2192 if (p is Int64?) return ToSingle((Int64?) p);
|
|
2193 if (p is SByte?) return ToSingle((SByte?) p);
|
|
2194 if (p is Single?) return ToSingle((Single?) p);
|
|
2195 if (p is UInt16?) return ToSingle((UInt16?) p);
|
|
2196 if (p is UInt32?) return ToSingle((UInt32?) p);
|
|
2197 if (p is UInt64?) return ToSingle((UInt64?) p);
|
|
2198 }
|
|
2199
|
|
2200 // Other Types
|
|
2201 //
|
|
2202 if (p is Binary) return ToSingle((Binary) p);
|
|
2203 if (p is Byte[]) return ToSingle((Byte[]) p);
|
|
2204
|
|
2205 #if !SILVERLIGHT
|
|
2206
|
|
2207 // Sql Types
|
|
2208 //
|
|
2209 if (p is INullable)
|
|
2210 {
|
|
2211 if (p is SqlBoolean) return ToSingle((SqlBoolean)p);
|
|
2212 if (p is SqlByte) return ToSingle((SqlByte) p);
|
|
2213 if (p is SqlDecimal) return ToSingle((SqlDecimal)p);
|
|
2214 if (p is SqlDouble) return ToSingle((SqlDouble) p);
|
|
2215 if (p is SqlInt16) return ToSingle((SqlInt16) p);
|
|
2216 if (p is SqlInt32) return ToSingle((SqlInt32) p);
|
|
2217 if (p is SqlInt64) return ToSingle((SqlInt64) p);
|
|
2218 if (p is SqlMoney) return ToSingle((SqlMoney) p);
|
|
2219 if (p is SqlSingle) return ToSingle((SqlSingle) p);
|
|
2220 if (p is SqlString) return ToSingle((SqlString) p);
|
|
2221 }
|
|
2222
|
|
2223 #endif
|
|
2224
|
|
2225 if (p is IConvertible) return ((IConvertible)p).ToSingle(null);
|
|
2226
|
|
2227 throw CreateInvalidCastException(p.GetType(), typeof(Single));
|
|
2228 }
|
|
2229
|
|
2230 #endregion
|
|
2231
|
|
2232 #region String
|
|
2233
|
|
2234 // Simple Types
|
|
2235 //
|
|
2236 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>String</c> value.</summary>
|
|
2237 public static String ToString(Boolean p) { return p.ToString(); }
|
|
2238 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>String</c> value.</summary>
|
|
2239 public static String ToString(Byte p) { return p.ToString(); }
|
|
2240 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>String</c> value.</summary>
|
|
2241 public static String ToString(Char p) { return p.ToString(); }
|
|
2242 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>String</c> value.</summary>
|
|
2243 public static String ToString(DateTime p) { return p.ToString(); }
|
|
2244 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>String</c> value.</summary>
|
|
2245 public static String ToString(DateTimeOffset p) { return p.ToString(); }
|
|
2246 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>String</c> value.</summary>
|
|
2247 public static String ToString(Decimal p) { return p.ToString(); }
|
|
2248 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>String</c> value.</summary>
|
|
2249 public static String ToString(Double p) { return p.ToString(); }
|
|
2250 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>String</c> value.</summary>
|
|
2251 public static String ToString(Guid p) { return p.ToString(); }
|
|
2252 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>String</c> value.</summary>
|
|
2253 public static String ToString(Int16 p) { return p.ToString(); }
|
|
2254 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>String</c> value.</summary>
|
|
2255 public static String ToString(Int32 p) { return p.ToString(); }
|
|
2256 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>String</c> value.</summary>
|
|
2257 public static String ToString(Int64 p) { return p.ToString(); }
|
|
2258 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>String</c> value.</summary>
|
|
2259 [CLSCompliant(false)]
|
|
2260 public static String ToString(SByte p) { return p.ToString(); }
|
|
2261 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>String</c> value.</summary>
|
|
2262 public static String ToString(Single p) { return p.ToString(); }
|
|
2263 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>String</c> value.</summary>
|
|
2264 public static String ToString(TimeSpan p) { return p.ToString(); }
|
|
2265 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>String</c> value.</summary>
|
|
2266 [CLSCompliant(false)]
|
|
2267 public static String ToString(UInt16 p) { return p.ToString(); }
|
|
2268 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>String</c> value.</summary>
|
|
2269 [CLSCompliant(false)]
|
|
2270 public static String ToString(UInt32 p) { return p.ToString(); }
|
|
2271 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>String</c> value.</summary>
|
|
2272 [CLSCompliant(false)]
|
|
2273 public static String ToString(UInt64 p) { return p.ToString(); }
|
|
2274
|
|
2275 // Nullable Types
|
|
2276 //
|
|
2277 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>String</c> value.</summary>
|
|
2278 public static String ToString(Boolean? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2279 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>String</c> value.</summary>
|
|
2280 public static String ToString(Byte? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2281 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>String</c> value.</summary>
|
|
2282 public static String ToString(Char? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2283 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>String</c> value.</summary>
|
|
2284 public static String ToString(DateTime? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2285 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>String</c> value.</summary>
|
|
2286 public static String ToString(DateTimeOffset? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2287 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>String</c> value.</summary>
|
|
2288 public static String ToString(Decimal? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2289 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>String</c> value.</summary>
|
|
2290 public static String ToString(Double? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2291 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>String</c> value.</summary>
|
|
2292 public static String ToString(Guid? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2293 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>String</c> value.</summary>
|
|
2294 public static String ToString(Int16? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2295 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>String</c> value.</summary>
|
|
2296 public static String ToString(Int32? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2297 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>String</c> value.</summary>
|
|
2298 public static String ToString(Int64? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2299 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>String</c> value.</summary>
|
|
2300 [CLSCompliant(false)]
|
|
2301 public static String ToString(SByte? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2302 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>String</c> value.</summary>
|
|
2303 public static String ToString(Single? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2304 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>String</c> value.</summary>
|
|
2305 public static String ToString(TimeSpan? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2306 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>String</c> value.</summary>
|
|
2307 [CLSCompliant(false)]
|
|
2308 public static String ToString(UInt16? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2309 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>String</c> value.</summary>
|
|
2310 [CLSCompliant(false)]
|
|
2311 public static String ToString(UInt32? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2312 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>String</c> value.</summary>
|
|
2313 [CLSCompliant(false)]
|
|
2314 public static String ToString(UInt64? p) { return p.HasValue ? p.Value.ToString() : Configuration.NullableValues.String; }
|
|
2315
|
|
2316 // Other Types
|
|
2317 //
|
|
2318 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>String</c> value.</summary>
|
|
2319 public static String ToString(Binary p) { return ToString(p.ToArray()); }
|
|
2320 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>String</c> value.</summary>
|
|
2321 public static String ToString(Byte[] p) { return p == null ? Configuration.NullableValues.String : System.Text.Encoding.UTF8.GetString(p, 0, p.Length); }
|
|
2322 /// <summary>Converts the value from <c>Type</c> to an equivalent <c>String</c> value.</summary>
|
|
2323 public static String ToString(Type p) { return p == null ? Configuration.NullableValues.String : p.FullName; }
|
|
2324
|
|
2325 #if !SILVERLIGHT
|
|
2326
|
|
2327 // Sql Types
|
|
2328 //
|
|
2329 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>String</c> value.</summary>
|
|
2330 public static String ToString(SqlBoolean p) { return p.ToString(); }
|
|
2331 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>String</c> value.</summary>
|
|
2332 public static String ToString(SqlByte p) { return p.ToString(); }
|
|
2333 /// <summary>Converts the value from <c>SqlChars</c> to an equivalent <c>String</c> value.</summary>
|
|
2334 public static String ToString(SqlChars p) { return p.IsNull ? Configuration.NullableValues.String : p.ToSqlString().Value; }
|
|
2335 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>String</c> value.</summary>
|
|
2336 public static String ToString(SqlDecimal p) { return p.ToString(); }
|
|
2337 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>String</c> value.</summary>
|
|
2338 public static String ToString(SqlDouble p) { return p.ToString(); }
|
|
2339 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>String</c> value.</summary>
|
|
2340 public static String ToString(SqlGuid p) { return p.ToString(); }
|
|
2341 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>String</c> value.</summary>
|
|
2342 public static String ToString(SqlInt16 p) { return p.ToString(); }
|
|
2343 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>String</c> value.</summary>
|
|
2344 public static String ToString(SqlInt32 p) { return p.ToString(); }
|
|
2345 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>String</c> value.</summary>
|
|
2346 public static String ToString(SqlInt64 p) { return p.ToString(); }
|
|
2347 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>String</c> value.</summary>
|
|
2348 public static String ToString(SqlMoney p) { return p.ToString(); }
|
|
2349 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>String</c> value.</summary>
|
|
2350 public static String ToString(SqlSingle p) { return p.ToString(); }
|
|
2351 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>String</c> value.</summary>
|
|
2352 public static String ToString(SqlString p) { return p.ToString(); }
|
|
2353 /// <summary>Converts the value from <c>SqlXml</c> to an equivalent <c>String</c> value.</summary>
|
|
2354 public static String ToString(SqlXml p) { return p.IsNull ? Configuration.NullableValues.String : p.Value; }
|
|
2355
|
|
2356 // Other Types
|
|
2357 //
|
|
2358 /// <summary>Converts the value from <c>XElement</c> to an equivalent <c>String</c> value.</summary>
|
|
2359 public static String ToString(XElement p) { return p == null ? Configuration.NullableValues.String : p.ToString(); }
|
|
2360 /// <summary>Converts the value from <c>XmlDocument</c> to an equivalent <c>String</c> value.</summary>
|
|
2361 public static String ToString(XmlDocument p) { return p == null ? Configuration.NullableValues.String : p.InnerXml; }
|
|
2362
|
|
2363 #endif
|
|
2364
|
|
2365 // From Object
|
|
2366 //
|
|
2367 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>String</c> value.</summary>
|
|
2368 public static String ToString(object p)
|
|
2369 {
|
|
2370 if (p == null) return Configuration.NullableValues.String;
|
|
2371
|
|
2372 var type = p.GetType();
|
|
2373
|
|
2374 // Primitive types
|
|
2375 //
|
|
2376 switch (Type.GetTypeCode(type))
|
|
2377 {
|
|
2378 case TypeCode.DBNull : return Configuration.NullableValues.String;
|
|
2379 case TypeCode.String : return (String)p;
|
|
2380 case TypeCode.SByte : return ToString((SByte) p);
|
|
2381 case TypeCode.Int16 : return ToString((Int16) p);
|
|
2382 case TypeCode.Int32 : return ToString((Int32) p);
|
|
2383 case TypeCode.Int64 : return ToString((Int64) p);
|
|
2384 case TypeCode.Byte : return ToString((Byte) p);
|
|
2385 case TypeCode.UInt16 : return ToString((UInt16) p);
|
|
2386 case TypeCode.UInt32 : return ToString((UInt32) p);
|
|
2387 case TypeCode.UInt64 : return ToString((UInt64) p);
|
|
2388 case TypeCode.Single : return ToString((Single) p);
|
|
2389 case TypeCode.Double : return ToString((Double) p);
|
|
2390 case TypeCode.Boolean : return ToString((Boolean) p);
|
|
2391 case TypeCode.Decimal : return ToString((Decimal) p);
|
|
2392 case TypeCode.Char : return ToString((Char) p);
|
|
2393 case TypeCode.DateTime : return ToString((DateTime)p);
|
|
2394 }
|
|
2395
|
|
2396 // Simple Types
|
|
2397 //
|
|
2398 if (p is DateTimeOffset) return ToString((DateTimeOffset) p);
|
|
2399 if (p is Guid) return ToString((Guid) p);
|
|
2400 if (p is TimeSpan) return ToString((TimeSpan) p);
|
|
2401
|
|
2402 // Nullable Types
|
|
2403 //
|
|
2404 if (type.IsGenericType)
|
|
2405 {
|
|
2406 if (p is Boolean?) return ToString((Boolean?) p);
|
|
2407 if (p is Byte?) return ToString((Byte?) p);
|
|
2408 if (p is Char?) return ToString((Char?) p);
|
|
2409 if (p is DateTime?) return ToString((DateTime?) p);
|
|
2410 if (p is DateTimeOffset?) return ToString((DateTimeOffset?)p);
|
|
2411 if (p is Decimal?) return ToString((Decimal?) p);
|
|
2412 if (p is Double?) return ToString((Double?) p);
|
|
2413 if (p is Guid?) return ToString((Guid?) p);
|
|
2414 if (p is Int16?) return ToString((Int16?) p);
|
|
2415 if (p is Int32?) return ToString((Int32?) p);
|
|
2416 if (p is Int64?) return ToString((Int64?) p);
|
|
2417 if (p is SByte?) return ToString((SByte?) p);
|
|
2418 if (p is Single?) return ToString((Single?) p);
|
|
2419 if (p is TimeSpan?) return ToString((TimeSpan?) p);
|
|
2420 if (p is UInt16?) return ToString((UInt16?) p);
|
|
2421 if (p is UInt32?) return ToString((UInt32?) p);
|
|
2422 if (p is UInt64?) return ToString((UInt64?) p);
|
|
2423 }
|
|
2424
|
|
2425 // Other Types
|
|
2426 //
|
|
2427 if (p is Binary) return ToString((Binary) p);
|
|
2428 if (p is Byte[]) return ToString((Byte[]) p);
|
|
2429 if (p is Type) return ToString((Type) p);
|
|
2430
|
|
2431 #if !SILVERLIGHT
|
|
2432
|
|
2433 // Sql Types
|
|
2434 //
|
|
2435 if (p is INullable)
|
|
2436 {
|
|
2437 if (p is SqlBoolean) return ToString((SqlBoolean) p);
|
|
2438 if (p is SqlByte) return ToString((SqlByte) p);
|
|
2439 if (p is SqlChars) return ToString((SqlChars) p);
|
|
2440 if (p is SqlDecimal) return ToString((SqlDecimal) p);
|
|
2441 if (p is SqlDouble) return ToString((SqlDouble) p);
|
|
2442 if (p is SqlGuid) return ToString((SqlGuid) p);
|
|
2443 if (p is SqlInt16) return ToString((SqlInt16) p);
|
|
2444 if (p is SqlInt32) return ToString((SqlInt32) p);
|
|
2445 if (p is SqlInt64) return ToString((SqlInt64) p);
|
|
2446 if (p is SqlMoney) return ToString((SqlMoney) p);
|
|
2447 if (p is SqlSingle) return ToString((SqlSingle) p);
|
|
2448 if (p is SqlString) return ToString((SqlString) p);
|
|
2449 if (p is SqlXml) return ToString((SqlXml) p);
|
|
2450 }
|
|
2451
|
|
2452 // Other Types
|
|
2453 //
|
|
2454 if (p is XElement) return ToString((XElement) p);
|
|
2455 if (p is XmlDocument) return ToString((XmlDocument) p);
|
|
2456
|
|
2457 #endif
|
|
2458
|
|
2459 if (p is IConvertible) return ((IConvertible)p).ToString(null);
|
|
2460
|
|
2461 return p.ToString();
|
|
2462 }
|
|
2463
|
|
2464 #endregion
|
|
2465
|
|
2466 #region TimeSpan
|
|
2467
|
|
2468 // Simple Types
|
|
2469 //
|
|
2470 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2471 public static TimeSpan ToTimeSpan(DateTime p) { return p - DateTime.MinValue; }
|
|
2472 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2473 public static TimeSpan ToTimeSpan(DateTimeOffset p) { return p - DateTimeOffset.MinValue; }
|
|
2474 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2475 public static TimeSpan ToTimeSpan(Double p) { return TimeSpan.FromDays (p); }
|
|
2476 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2477 public static TimeSpan ToTimeSpan(Int64 p) { return TimeSpan.FromTicks(p); }
|
|
2478 /// <summary>Converts the value from <c>String</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2479 public static TimeSpan ToTimeSpan(String p) { return p == null? Configuration.NullableValues.TimeSpan : TimeSpan.Parse(p); }
|
|
2480
|
|
2481 // Nullable Types
|
|
2482 //
|
|
2483 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2484 public static TimeSpan ToTimeSpan(DateTime? p) { return p.HasValue ? p.Value - DateTime.MinValue : Configuration.NullableValues.TimeSpan; }
|
|
2485 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2486 public static TimeSpan ToTimeSpan(DateTimeOffset? p) { return p.HasValue ? p.Value - DateTimeOffset.MinValue : Configuration.NullableValues.TimeSpan; }
|
|
2487 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2488 public static TimeSpan ToTimeSpan(Double? p) { return p.HasValue ? TimeSpan.FromDays (p.Value) : Configuration.NullableValues.TimeSpan; }
|
|
2489 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2490 public static TimeSpan ToTimeSpan(Int64? p) { return p.HasValue ? TimeSpan.FromTicks(p.Value) : Configuration.NullableValues.TimeSpan; }
|
|
2491 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2492 public static TimeSpan ToTimeSpan(TimeSpan? p) { return p.HasValue ? p.Value : Configuration.NullableValues.TimeSpan; }
|
|
2493
|
|
2494 // Other Types
|
|
2495 //
|
|
2496 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2497 public static TimeSpan ToTimeSpan(Binary p) { return p == null || p.Length == 0? Configuration.NullableValues.TimeSpan : TimeSpan.FromTicks(ToInt64(p.ToArray())); }
|
|
2498 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2499 public static TimeSpan ToTimeSpan(Byte[] p) { return p == null || p.Length == 0? Configuration.NullableValues.TimeSpan : TimeSpan.FromTicks(ToInt64(p)); }
|
|
2500
|
|
2501 #if !SILVERLIGHT
|
|
2502
|
|
2503 // Sql Types
|
|
2504 //
|
|
2505 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2506 public static TimeSpan ToTimeSpan(SqlDateTime p) { return p.IsNull ? Configuration.NullableValues.TimeSpan : p.Value - DateTime.MinValue; }
|
|
2507 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2508 public static TimeSpan ToTimeSpan(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.TimeSpan : TimeSpan.FromDays(p.Value); }
|
|
2509 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2510 public static TimeSpan ToTimeSpan(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.TimeSpan : TimeSpan.FromTicks(p.Value); }
|
|
2511 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2512 public static TimeSpan ToTimeSpan(SqlString p) { return p.IsNull ? Configuration.NullableValues.TimeSpan : TimeSpan.Parse(p.Value); }
|
|
2513
|
|
2514 #endif
|
|
2515
|
|
2516 // From Object
|
|
2517 //
|
|
2518 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>TimeSpan</c> value.</summary>
|
|
2519 public static TimeSpan ToTimeSpan(object p)
|
|
2520 {
|
|
2521 if (p == null) return Configuration.NullableValues.TimeSpan;
|
|
2522
|
|
2523 if (p is TimeSpan) return (TimeSpan)p;
|
|
2524
|
|
2525 var type = p.GetType();
|
|
2526
|
|
2527 // Primitive types
|
|
2528 //
|
|
2529 switch (Type.GetTypeCode(type))
|
|
2530 {
|
|
2531 case TypeCode.DBNull : return Configuration.NullableValues.TimeSpan;
|
|
2532 case TypeCode.DateTime : return ToTimeSpan((DateTime)p);
|
|
2533 case TypeCode.Int64 : return ToTimeSpan((Int64) p);
|
|
2534 case TypeCode.Double : return ToTimeSpan((Double) p);
|
|
2535 case TypeCode.String : return ToTimeSpan((String) p);
|
|
2536 }
|
|
2537
|
|
2538 // Simple Types
|
|
2539 //
|
|
2540 if (p is DateTimeOffset) return ToTimeSpan((DateTimeOffset) p);
|
|
2541
|
|
2542 // Nullable Types
|
|
2543 //
|
|
2544 if (type.IsGenericType)
|
|
2545 {
|
|
2546 if (p is DateTime?) return ToTimeSpan((DateTime?) p);
|
|
2547 if (p is DateTimeOffset?) return ToTimeSpan((DateTimeOffset?)p);
|
|
2548 if (p is Double?) return ToTimeSpan((Double?) p);
|
|
2549 if (p is Int64?) return ToTimeSpan((Int64?) p);
|
|
2550 if (p is TimeSpan?) return ToTimeSpan((TimeSpan?) p);
|
|
2551 }
|
|
2552
|
|
2553 // Other Types
|
|
2554 //
|
|
2555 if (p is Binary) return ToTimeSpan((Binary) p);
|
|
2556 if (p is Byte[]) return ToTimeSpan((Byte[]) p);
|
|
2557
|
|
2558 #if !SILVERLIGHT
|
|
2559
|
|
2560 // Sql Types
|
|
2561 //
|
|
2562 if (p is INullable)
|
|
2563 {
|
|
2564 if (p is SqlDateTime) return ToTimeSpan((SqlDateTime) p);
|
|
2565 if (p is SqlDouble) return ToTimeSpan((SqlDouble) p);
|
|
2566 if (p is SqlInt64) return ToTimeSpan((SqlInt64) p);
|
|
2567 if (p is SqlString) return ToTimeSpan((SqlString) p);
|
|
2568 }
|
|
2569
|
|
2570 #endif
|
|
2571
|
|
2572 throw CreateInvalidCastException(p.GetType(), typeof(TimeSpan));
|
|
2573 }
|
|
2574
|
|
2575 #endregion
|
|
2576
|
|
2577 #region UInt16
|
|
2578
|
|
2579 // Simple Types
|
|
2580 //
|
|
2581 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2582 [CLSCompliant(false)]
|
|
2583 public static UInt16 ToUInt16(Boolean p) { return p ? (UInt16)1 : (UInt16)0; }
|
|
2584 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2585 [CLSCompliant(false)]
|
|
2586 public static UInt16 ToUInt16(Byte p) { return p; }
|
|
2587 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2588 [CLSCompliant(false)]
|
|
2589 public static UInt16 ToUInt16(Char p) { return checked((UInt16)p); }
|
|
2590 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2591 [CLSCompliant(false)]
|
|
2592 public static UInt16 ToUInt16(Decimal p) { return checked((UInt16)p); }
|
|
2593 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2594 [CLSCompliant(false)]
|
|
2595 public static UInt16 ToUInt16(Double p) { return checked((UInt16)p); }
|
|
2596 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2597 [CLSCompliant(false)]
|
|
2598 public static UInt16 ToUInt16(Int16 p) { return checked((UInt16)p); }
|
|
2599 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2600 [CLSCompliant(false)]
|
|
2601 public static UInt16 ToUInt16(Int32 p) { return checked((UInt16)p); }
|
|
2602 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2603 [CLSCompliant(false)]
|
|
2604 public static UInt16 ToUInt16(Int64 p) { return checked((UInt16)p); }
|
|
2605 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2606 [CLSCompliant(false)]
|
|
2607 public static UInt16 ToUInt16(SByte p) { return checked((UInt16)p); }
|
|
2608 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2609 [CLSCompliant(false)]
|
|
2610 public static UInt16 ToUInt16(Single p) { return checked((UInt16)p); }
|
|
2611 /// <summary>Converts the value from <c>String</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2612 [CLSCompliant(false)]
|
|
2613 public static UInt16 ToUInt16(String p) { return p == null? Configuration.NullableValues.UInt16 : UInt16.Parse(p); }
|
|
2614 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2615 [CLSCompliant(false)]
|
|
2616 public static UInt16 ToUInt16(UInt32 p) { return checked((UInt16)p); }
|
|
2617 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2618 [CLSCompliant(false)]
|
|
2619 public static UInt16 ToUInt16(UInt64 p) { return checked((UInt16)p); }
|
|
2620
|
|
2621 // Nullable Types
|
|
2622 //
|
|
2623 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2624 [CLSCompliant(false)]
|
|
2625 public static UInt16 ToUInt16(Boolean? p) { return p.HasValue && p.Value ? (UInt16)1: (UInt16)0; }
|
|
2626 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2627 [CLSCompliant(false)]
|
|
2628 public static UInt16 ToUInt16(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt16; }
|
|
2629 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2630 [CLSCompliant(false)]
|
|
2631 public static UInt16 ToUInt16(Char? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2632 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2633 [CLSCompliant(false)]
|
|
2634 public static UInt16 ToUInt16(Decimal? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2635 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2636 [CLSCompliant(false)]
|
|
2637 public static UInt16 ToUInt16(Double? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2638 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2639 [CLSCompliant(false)]
|
|
2640 public static UInt16 ToUInt16(Int16? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2641 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2642 [CLSCompliant(false)]
|
|
2643 public static UInt16 ToUInt16(Int32? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2644 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2645 [CLSCompliant(false)]
|
|
2646 public static UInt16 ToUInt16(Int64? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2647 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2648 [CLSCompliant(false)]
|
|
2649 public static UInt16 ToUInt16(SByte? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2650 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2651 [CLSCompliant(false)]
|
|
2652 public static UInt16 ToUInt16(Single? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2653 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2654 [CLSCompliant(false)]
|
|
2655 public static UInt16 ToUInt16(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt16; }
|
|
2656 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2657 [CLSCompliant(false)]
|
|
2658 public static UInt16 ToUInt16(UInt32? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2659 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2660 [CLSCompliant(false)]
|
|
2661 public static UInt16 ToUInt16(UInt64? p) { return p.HasValue ? checked((UInt16)p.Value) : Configuration.NullableValues.UInt16; }
|
|
2662
|
|
2663 // Other Types
|
|
2664 //
|
|
2665 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2666 [CLSCompliant(false)]
|
|
2667 public static UInt16 ToUInt16(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.UInt16 : BitConverter.ToUInt16(p.ToArray(), 0); }
|
|
2668 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2669 [CLSCompliant(false)]
|
|
2670 public static UInt16 ToUInt16(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.UInt16 : BitConverter.ToUInt16(p, 0); }
|
|
2671
|
|
2672 #if !SILVERLIGHT
|
|
2673
|
|
2674 // Sql Types
|
|
2675 //
|
|
2676 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2677 [CLSCompliant(false)]
|
|
2678 public static UInt16 ToUInt16(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2679 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2680 [CLSCompliant(false)]
|
|
2681 public static UInt16 ToUInt16(SqlByte p) { return p.IsNull ? Configuration.NullableValues.UInt16 : p.Value; }
|
|
2682 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2683 [CLSCompliant(false)]
|
|
2684 public static UInt16 ToUInt16(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2685 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2686 [CLSCompliant(false)]
|
|
2687 public static UInt16 ToUInt16(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2688 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2689 [CLSCompliant(false)]
|
|
2690 public static UInt16 ToUInt16(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2691 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2692 [CLSCompliant(false)]
|
|
2693 public static UInt16 ToUInt16(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2694 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2695 [CLSCompliant(false)]
|
|
2696 public static UInt16 ToUInt16(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2697 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2698 [CLSCompliant(false)]
|
|
2699 public static UInt16 ToUInt16(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2700 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2701 [CLSCompliant(false)]
|
|
2702 public static UInt16 ToUInt16(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2703 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2704 [CLSCompliant(false)]
|
|
2705 public static UInt16 ToUInt16(SqlString p) { return p.IsNull ? Configuration.NullableValues.UInt16 : ToUInt16(p.Value); }
|
|
2706
|
|
2707 #endif
|
|
2708
|
|
2709 // From Object
|
|
2710 //
|
|
2711 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>UInt16</c> value.</summary>
|
|
2712 [CLSCompliant(false)]
|
|
2713 public static UInt16 ToUInt16(object p)
|
|
2714 {
|
|
2715 if (p == null) return Configuration.NullableValues.UInt16;
|
|
2716
|
|
2717 var type = p.GetType();
|
|
2718
|
|
2719 // Primitive types
|
|
2720 //
|
|
2721 switch (Type.GetTypeCode(type))
|
|
2722 {
|
|
2723 case TypeCode.DBNull : return Configuration.NullableValues.UInt16;
|
|
2724 case TypeCode.UInt16 : return (UInt16)p;
|
|
2725 case TypeCode.Byte : return ToUInt16((Byte) p);
|
|
2726 case TypeCode.SByte : return ToUInt16((SByte) p);
|
|
2727 case TypeCode.Int16 : return ToUInt16((Int16) p);
|
|
2728 case TypeCode.Int32 : return ToUInt16((Int32) p);
|
|
2729 case TypeCode.Int64 : return ToUInt16((Int64) p);
|
|
2730 case TypeCode.UInt32 : return ToUInt16((UInt32) p);
|
|
2731 case TypeCode.UInt64 : return ToUInt16((UInt64) p);
|
|
2732 case TypeCode.Single : return ToUInt16((Single) p);
|
|
2733 case TypeCode.Double : return ToUInt16((Double) p);
|
|
2734 case TypeCode.Decimal : return ToUInt16((Decimal)p);
|
|
2735 case TypeCode.Char : return ToUInt16((Char) p);
|
|
2736 case TypeCode.String : return ToUInt16((String) p);
|
|
2737 case TypeCode.Boolean : return ToUInt16((Boolean)p);
|
|
2738 }
|
|
2739
|
|
2740 // Nullable Types
|
|
2741 //
|
|
2742 if (type.IsGenericType)
|
|
2743 {
|
|
2744 if (p is Boolean?) return ToUInt16((Boolean?) p);
|
|
2745 if (p is Byte?) return ToUInt16((Byte?) p);
|
|
2746 if (p is Char?) return ToUInt16((Char?) p);
|
|
2747 if (p is Decimal?) return ToUInt16((Decimal?) p);
|
|
2748 if (p is Double?) return ToUInt16((Double?) p);
|
|
2749 if (p is Int16?) return ToUInt16((Int16?) p);
|
|
2750 if (p is Int32?) return ToUInt16((Int32?) p);
|
|
2751 if (p is Int64?) return ToUInt16((Int64?) p);
|
|
2752 if (p is SByte?) return ToUInt16((SByte?) p);
|
|
2753 if (p is Single?) return ToUInt16((Single?) p);
|
|
2754 if (p is UInt16?) return ToUInt16((UInt16?) p);
|
|
2755 if (p is UInt32?) return ToUInt16((UInt32?) p);
|
|
2756 if (p is UInt64?) return ToUInt16((UInt64?) p);
|
|
2757 }
|
|
2758
|
|
2759 // Other Types
|
|
2760 //
|
|
2761 if (p is Binary) return ToUInt16((Binary) p);
|
|
2762 if (p is Byte[]) return ToUInt16((Byte[]) p);
|
|
2763
|
|
2764 #if !SILVERLIGHT
|
|
2765
|
|
2766 // Sql Types
|
|
2767 //
|
|
2768 if (p is INullable)
|
|
2769 {
|
|
2770 if (p is SqlBoolean) return ToUInt16((SqlBoolean)p);
|
|
2771 if (p is SqlByte) return ToUInt16((SqlByte) p);
|
|
2772 if (p is SqlDecimal) return ToUInt16((SqlDecimal)p);
|
|
2773 if (p is SqlDouble) return ToUInt16((SqlDouble) p);
|
|
2774 if (p is SqlInt16) return ToUInt16((SqlInt16) p);
|
|
2775 if (p is SqlInt32) return ToUInt16((SqlInt32) p);
|
|
2776 if (p is SqlInt64) return ToUInt16((SqlInt64) p);
|
|
2777 if (p is SqlMoney) return ToUInt16((SqlMoney) p);
|
|
2778 if (p is SqlSingle) return ToUInt16((SqlSingle) p);
|
|
2779 if (p is SqlString) return ToUInt16((SqlString) p);
|
|
2780 }
|
|
2781
|
|
2782 #endif
|
|
2783
|
|
2784 if (p is IConvertible) return ((IConvertible)p).ToUInt16(null);
|
|
2785
|
|
2786 throw CreateInvalidCastException(p.GetType(), typeof(UInt16));
|
|
2787 }
|
|
2788
|
|
2789 #endregion
|
|
2790
|
|
2791 #region UInt32
|
|
2792
|
|
2793 // Simple Types
|
|
2794 //
|
|
2795 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2796 [CLSCompliant(false)]
|
|
2797 public static UInt32 ToUInt32(Boolean p) { return p ? (UInt32)1 : (UInt32)0; }
|
|
2798 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2799 [CLSCompliant(false)]
|
|
2800 public static UInt32 ToUInt32(Byte p) { return p; }
|
|
2801 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2802 [CLSCompliant(false)]
|
|
2803 public static UInt32 ToUInt32(Char p) { return checked((UInt32)p); }
|
|
2804 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2805 [CLSCompliant(false)]
|
|
2806 public static UInt32 ToUInt32(Decimal p) { return checked((UInt32)p); }
|
|
2807 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2808 [CLSCompliant(false)]
|
|
2809 public static UInt32 ToUInt32(Double p) { return checked((UInt32)p); }
|
|
2810 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2811 [CLSCompliant(false)]
|
|
2812 public static UInt32 ToUInt32(Int16 p) { return checked((UInt32)p); }
|
|
2813 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2814 [CLSCompliant(false)]
|
|
2815 public static UInt32 ToUInt32(Int32 p) { return checked((UInt32)p); }
|
|
2816 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2817 [CLSCompliant(false)]
|
|
2818 public static UInt32 ToUInt32(Int64 p) { return checked((UInt32)p); }
|
|
2819 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2820 [CLSCompliant(false)]
|
|
2821 public static UInt32 ToUInt32(SByte p) { return checked((UInt32)p); }
|
|
2822 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2823 [CLSCompliant(false)]
|
|
2824 public static UInt32 ToUInt32(Single p) { return checked((UInt32)p); }
|
|
2825 /// <summary>Converts the value from <c>String</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2826 [CLSCompliant(false)]
|
|
2827 public static UInt32 ToUInt32(String p) { return p == null? Configuration.NullableValues.UInt32 : UInt32.Parse(p); }
|
|
2828 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2829 [CLSCompliant(false)]
|
|
2830 public static UInt32 ToUInt32(UInt16 p) { return p; }
|
|
2831 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2832 [CLSCompliant(false)]
|
|
2833 public static UInt32 ToUInt32(UInt64 p) { return checked((UInt32)p); }
|
|
2834
|
|
2835 // Nullable Types
|
|
2836 //
|
|
2837 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2838 [CLSCompliant(false)]
|
|
2839 public static UInt32 ToUInt32(Boolean? p) { return p.HasValue && p.Value ? (UInt32)1: (UInt32)0; }
|
|
2840 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2841 [CLSCompliant(false)]
|
|
2842 public static UInt32 ToUInt32(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt32; }
|
|
2843 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2844 [CLSCompliant(false)]
|
|
2845 public static UInt32 ToUInt32(Char? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2846 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2847 [CLSCompliant(false)]
|
|
2848 public static UInt32 ToUInt32(Decimal? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2849 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2850 [CLSCompliant(false)]
|
|
2851 public static UInt32 ToUInt32(Double? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2852 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2853 [CLSCompliant(false)]
|
|
2854 public static UInt32 ToUInt32(Int16? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2855 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2856 [CLSCompliant(false)]
|
|
2857 public static UInt32 ToUInt32(Int32? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2858 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2859 [CLSCompliant(false)]
|
|
2860 public static UInt32 ToUInt32(Int64? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2861 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2862 [CLSCompliant(false)]
|
|
2863 public static UInt32 ToUInt32(SByte? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2864 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2865 [CLSCompliant(false)]
|
|
2866 public static UInt32 ToUInt32(Single? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2867 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2868 [CLSCompliant(false)]
|
|
2869 public static UInt32 ToUInt32(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt32; }
|
|
2870 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2871 [CLSCompliant(false)]
|
|
2872 public static UInt32 ToUInt32(UInt32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt32; }
|
|
2873 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2874 [CLSCompliant(false)]
|
|
2875 public static UInt32 ToUInt32(UInt64? p) { return p.HasValue ? checked((UInt32)p.Value) : Configuration.NullableValues.UInt32; }
|
|
2876
|
|
2877 // Other Types
|
|
2878 //
|
|
2879 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2880 [CLSCompliant(false)]
|
|
2881 public static UInt32 ToUInt32(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.UInt32 : BitConverter.ToUInt32(p.ToArray(), 0); }
|
|
2882 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2883 [CLSCompliant(false)]
|
|
2884 public static UInt32 ToUInt32(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.UInt32 : BitConverter.ToUInt32(p, 0); }
|
|
2885
|
|
2886 #if !SILVERLIGHT
|
|
2887
|
|
2888 // Sql Types
|
|
2889 //
|
|
2890 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2891 [CLSCompliant(false)]
|
|
2892 public static UInt32 ToUInt32(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2893 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2894 [CLSCompliant(false)]
|
|
2895 public static UInt32 ToUInt32(SqlByte p) { return p.IsNull ? Configuration.NullableValues.UInt32 : p.Value; }
|
|
2896 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2897 [CLSCompliant(false)]
|
|
2898 public static UInt32 ToUInt32(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2899 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2900 [CLSCompliant(false)]
|
|
2901 public static UInt32 ToUInt32(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2902 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2903 [CLSCompliant(false)]
|
|
2904 public static UInt32 ToUInt32(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2905 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2906 [CLSCompliant(false)]
|
|
2907 public static UInt32 ToUInt32(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2908 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2909 [CLSCompliant(false)]
|
|
2910 public static UInt32 ToUInt32(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2911 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2912 [CLSCompliant(false)]
|
|
2913 public static UInt32 ToUInt32(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2914 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2915 [CLSCompliant(false)]
|
|
2916 public static UInt32 ToUInt32(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2917 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2918 [CLSCompliant(false)]
|
|
2919 public static UInt32 ToUInt32(SqlString p) { return p.IsNull ? Configuration.NullableValues.UInt32 : ToUInt32(p.Value); }
|
|
2920
|
|
2921 #endif
|
|
2922
|
|
2923 // From Object
|
|
2924 //
|
|
2925 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>UInt32</c> value.</summary>
|
|
2926 [CLSCompliant(false)]
|
|
2927 public static UInt32 ToUInt32(object p)
|
|
2928 {
|
|
2929 if (p == null) return Configuration.NullableValues.UInt32;
|
|
2930
|
|
2931 var type = p.GetType();
|
|
2932
|
|
2933 // Primitive types
|
|
2934 //
|
|
2935 switch (Type.GetTypeCode(type))
|
|
2936 {
|
|
2937 case TypeCode.DBNull : return Configuration.NullableValues.UInt32;
|
|
2938 case TypeCode.UInt32 : return (UInt32)p;
|
|
2939 case TypeCode.Byte : return ToUInt32((Byte) p);
|
|
2940 case TypeCode.UInt16 : return ToUInt32((UInt16) p);
|
|
2941 case TypeCode.SByte : return ToUInt32((SByte) p);
|
|
2942 case TypeCode.Int16 : return ToUInt32((Int16) p);
|
|
2943 case TypeCode.Int32 : return ToUInt32((Int32) p);
|
|
2944 case TypeCode.Int64 : return ToUInt32((Int64) p);
|
|
2945 case TypeCode.UInt64 : return ToUInt32((UInt64) p);
|
|
2946 case TypeCode.Single : return ToUInt32((Single) p);
|
|
2947 case TypeCode.Double : return ToUInt32((Double) p);
|
|
2948 case TypeCode.Decimal : return ToUInt32((Decimal)p);
|
|
2949 case TypeCode.Char : return ToUInt32((Char) p);
|
|
2950 case TypeCode.String : return ToUInt32((String) p);
|
|
2951 case TypeCode.Boolean : return ToUInt32((Boolean)p);
|
|
2952 }
|
|
2953
|
|
2954 // Nullable Types
|
|
2955 //
|
|
2956 if (type.IsGenericType)
|
|
2957 {
|
|
2958 if (p is Boolean?) return ToUInt32((Boolean?) p);
|
|
2959 if (p is Byte?) return ToUInt32((Byte?) p);
|
|
2960 if (p is Char?) return ToUInt32((Char?) p);
|
|
2961 if (p is Decimal?) return ToUInt32((Decimal?) p);
|
|
2962 if (p is Double?) return ToUInt32((Double?) p);
|
|
2963 if (p is Int16?) return ToUInt32((Int16?) p);
|
|
2964 if (p is Int32?) return ToUInt32((Int32?) p);
|
|
2965 if (p is Int64?) return ToUInt32((Int64?) p);
|
|
2966 if (p is SByte?) return ToUInt32((SByte?) p);
|
|
2967 if (p is Single?) return ToUInt32((Single?) p);
|
|
2968 if (p is UInt16?) return ToUInt32((UInt16?) p);
|
|
2969 if (p is UInt32?) return ToUInt32((UInt32?) p);
|
|
2970 if (p is UInt64?) return ToUInt32((UInt64?) p);
|
|
2971 }
|
|
2972
|
|
2973 // Other Types
|
|
2974 //
|
|
2975 if (p is Binary) return ToUInt32((Binary) p);
|
|
2976 if (p is Byte[]) return ToUInt32((Byte[]) p);
|
|
2977
|
|
2978 #if !SILVERLIGHT
|
|
2979
|
|
2980 // Sql Types
|
|
2981 //
|
|
2982 if (p is INullable)
|
|
2983 {
|
|
2984 if (p is SqlBoolean) return ToUInt32((SqlBoolean)p);
|
|
2985 if (p is SqlByte) return ToUInt32((SqlByte) p);
|
|
2986 if (p is SqlDecimal) return ToUInt32((SqlDecimal)p);
|
|
2987 if (p is SqlDouble) return ToUInt32((SqlDouble) p);
|
|
2988 if (p is SqlInt16) return ToUInt32((SqlInt16) p);
|
|
2989 if (p is SqlInt32) return ToUInt32((SqlInt32) p);
|
|
2990 if (p is SqlInt64) return ToUInt32((SqlInt64) p);
|
|
2991 if (p is SqlMoney) return ToUInt32((SqlMoney) p);
|
|
2992 if (p is SqlSingle) return ToUInt32((SqlSingle) p);
|
|
2993 if (p is SqlString) return ToUInt32((SqlString) p);
|
|
2994 }
|
|
2995
|
|
2996 #endif
|
|
2997
|
|
2998 if (p is IConvertible) return ((IConvertible)p).ToUInt32(null);
|
|
2999
|
|
3000 throw CreateInvalidCastException(p.GetType(), typeof(UInt32));
|
|
3001 }
|
|
3002
|
|
3003 #endregion
|
|
3004
|
|
3005 #region UInt64
|
|
3006
|
|
3007 // Simple Types
|
|
3008 //
|
|
3009 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3010 [CLSCompliant(false)]
|
|
3011 public static UInt64 ToUInt64(Boolean p) { return p ? (UInt64)1 : (UInt64)0; }
|
|
3012 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3013 [CLSCompliant(false)]
|
|
3014 public static UInt64 ToUInt64(Byte p) { return p; }
|
|
3015 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3016 [CLSCompliant(false)]
|
|
3017 public static UInt64 ToUInt64(Char p) { return checked((UInt64)p); }
|
|
3018 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3019 [CLSCompliant(false)]
|
|
3020 public static UInt64 ToUInt64(Decimal p) { return checked((UInt64)p); }
|
|
3021 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3022 [CLSCompliant(false)]
|
|
3023 public static UInt64 ToUInt64(Double p) { return checked((UInt64)p); }
|
|
3024 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3025 [CLSCompliant(false)]
|
|
3026 public static UInt64 ToUInt64(Int16 p) { return checked((UInt64)p); }
|
|
3027 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3028 [CLSCompliant(false)]
|
|
3029 public static UInt64 ToUInt64(Int32 p) { return checked((UInt64)p); }
|
|
3030 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3031 [CLSCompliant(false)]
|
|
3032 public static UInt64 ToUInt64(Int64 p) { return checked((UInt64)p); }
|
|
3033 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3034 [CLSCompliant(false)]
|
|
3035 public static UInt64 ToUInt64(SByte p) { return checked((UInt64)p); }
|
|
3036 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3037 [CLSCompliant(false)]
|
|
3038 public static UInt64 ToUInt64(Single p) { return checked((UInt64)p); }
|
|
3039 /// <summary>Converts the value from <c>String</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3040 [CLSCompliant(false)]
|
|
3041 public static UInt64 ToUInt64(String p) { return p == null? Configuration.NullableValues.UInt64 : UInt64.Parse(p); }
|
|
3042 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3043 [CLSCompliant(false)]
|
|
3044 public static UInt64 ToUInt64(UInt16 p) { return p; }
|
|
3045 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3046 [CLSCompliant(false)]
|
|
3047 public static UInt64 ToUInt64(UInt32 p) { return p; }
|
|
3048
|
|
3049 // Nullable Types
|
|
3050 //
|
|
3051 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3052 [CLSCompliant(false)]
|
|
3053 public static UInt64 ToUInt64(Boolean? p) { return p.HasValue && p.Value ? (UInt64)1: (UInt64)0; }
|
|
3054 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3055 [CLSCompliant(false)]
|
|
3056 public static UInt64 ToUInt64(Byte? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt64; }
|
|
3057 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3058 [CLSCompliant(false)]
|
|
3059 public static UInt64 ToUInt64(Char? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3060 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3061 [CLSCompliant(false)]
|
|
3062 public static UInt64 ToUInt64(Decimal? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3063 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3064 [CLSCompliant(false)]
|
|
3065 public static UInt64 ToUInt64(Double? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3066 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3067 [CLSCompliant(false)]
|
|
3068 public static UInt64 ToUInt64(Int16? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3069 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3070 [CLSCompliant(false)]
|
|
3071 public static UInt64 ToUInt64(Int32? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3072 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3073 [CLSCompliant(false)]
|
|
3074 public static UInt64 ToUInt64(Int64? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3075 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3076 [CLSCompliant(false)]
|
|
3077 public static UInt64 ToUInt64(SByte? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3078 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3079 [CLSCompliant(false)]
|
|
3080 public static UInt64 ToUInt64(Single? p) { return p.HasValue ? checked((UInt64)p.Value) : Configuration.NullableValues.UInt64; }
|
|
3081 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3082 [CLSCompliant(false)]
|
|
3083 public static UInt64 ToUInt64(UInt16? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt64; }
|
|
3084 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3085 [CLSCompliant(false)]
|
|
3086 public static UInt64 ToUInt64(UInt32? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt64; }
|
|
3087 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3088 [CLSCompliant(false)]
|
|
3089 public static UInt64 ToUInt64(UInt64? p) { return p.HasValue ? p.Value : Configuration.NullableValues.UInt64; }
|
|
3090
|
|
3091 // Other Types
|
|
3092 //
|
|
3093 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3094 [CLSCompliant(false)]
|
|
3095 public static UInt64 ToUInt64(Binary p) { return p == null || p.Length == 0 ? Configuration.NullableValues.UInt64 : BitConverter.ToUInt64(p.ToArray(), 0); }
|
|
3096 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3097 [CLSCompliant(false)]
|
|
3098 public static UInt64 ToUInt64(Byte[] p) { return p == null || p.Length == 0 ? Configuration.NullableValues.UInt64 : BitConverter.ToUInt64(p, 0); }
|
|
3099
|
|
3100 #if !SILVERLIGHT
|
|
3101
|
|
3102 // Sql Types
|
|
3103 //
|
|
3104 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3105 [CLSCompliant(false)]
|
|
3106 public static UInt64 ToUInt64(SqlBoolean p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3107 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3108 [CLSCompliant(false)]
|
|
3109 public static UInt64 ToUInt64(SqlByte p) { return p.IsNull ? Configuration.NullableValues.UInt64 : p.Value; }
|
|
3110 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3111 [CLSCompliant(false)]
|
|
3112 public static UInt64 ToUInt64(SqlDecimal p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3113 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3114 [CLSCompliant(false)]
|
|
3115 public static UInt64 ToUInt64(SqlDouble p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3116 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3117 [CLSCompliant(false)]
|
|
3118 public static UInt64 ToUInt64(SqlInt16 p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3119 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3120 [CLSCompliant(false)]
|
|
3121 public static UInt64 ToUInt64(SqlInt32 p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3122 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3123 [CLSCompliant(false)]
|
|
3124 public static UInt64 ToUInt64(SqlInt64 p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3125 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3126 [CLSCompliant(false)]
|
|
3127 public static UInt64 ToUInt64(SqlMoney p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3128 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3129 [CLSCompliant(false)]
|
|
3130 public static UInt64 ToUInt64(SqlSingle p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3131 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3132 [CLSCompliant(false)]
|
|
3133 public static UInt64 ToUInt64(SqlString p) { return p.IsNull ? Configuration.NullableValues.UInt64 : ToUInt64(p.Value); }
|
|
3134
|
|
3135 #endif
|
|
3136
|
|
3137 // From Object
|
|
3138 //
|
|
3139 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>UInt64</c> value.</summary>
|
|
3140 [CLSCompliant(false)]
|
|
3141 public static UInt64 ToUInt64(object p)
|
|
3142 {
|
|
3143 if (p == null) return Configuration.NullableValues.UInt64;
|
|
3144
|
|
3145 var type = p.GetType();
|
|
3146
|
|
3147 // Primitive types
|
|
3148 //
|
|
3149 switch (Type.GetTypeCode(type))
|
|
3150 {
|
|
3151 case TypeCode.DBNull : return Configuration.NullableValues.UInt64;
|
|
3152 case TypeCode.UInt64 : return (UInt64)p;
|
|
3153 case TypeCode.Byte : return ToUInt64((Byte) p);
|
|
3154 case TypeCode.UInt16 : return ToUInt64((UInt16) p);
|
|
3155 case TypeCode.UInt32 : return ToUInt64((UInt32) p);
|
|
3156 case TypeCode.SByte : return ToUInt64((SByte) p);
|
|
3157 case TypeCode.Int16 : return ToUInt64((Int16) p);
|
|
3158 case TypeCode.Int32 : return ToUInt64((Int32) p);
|
|
3159 case TypeCode.Int64 : return ToUInt64((Int64) p);
|
|
3160 case TypeCode.Single : return ToUInt64((Single) p);
|
|
3161 case TypeCode.Double : return ToUInt64((Double) p);
|
|
3162 case TypeCode.Decimal : return ToUInt64((Decimal)p);
|
|
3163 case TypeCode.Char : return ToUInt64((Char) p);
|
|
3164 case TypeCode.String : return ToUInt64((String) p);
|
|
3165 case TypeCode.Boolean : return ToUInt64((Boolean)p);
|
|
3166 }
|
|
3167
|
|
3168 // Nullable Types
|
|
3169 //
|
|
3170 if (type.IsGenericType)
|
|
3171 {
|
|
3172 if (p is Boolean?) return ToUInt64((Boolean?) p);
|
|
3173 if (p is Byte?) return ToUInt64((Byte?) p);
|
|
3174 if (p is Char?) return ToUInt64((Char?) p);
|
|
3175 if (p is Decimal?) return ToUInt64((Decimal?) p);
|
|
3176 if (p is Double?) return ToUInt64((Double?) p);
|
|
3177 if (p is Int16?) return ToUInt64((Int16?) p);
|
|
3178 if (p is Int32?) return ToUInt64((Int32?) p);
|
|
3179 if (p is Int64?) return ToUInt64((Int64?) p);
|
|
3180 if (p is SByte?) return ToUInt64((SByte?) p);
|
|
3181 if (p is Single?) return ToUInt64((Single?) p);
|
|
3182 if (p is UInt16?) return ToUInt64((UInt16?) p);
|
|
3183 if (p is UInt32?) return ToUInt64((UInt32?) p);
|
|
3184 if (p is UInt64?) return ToUInt64((UInt64?) p);
|
|
3185 }
|
|
3186
|
|
3187 // Other Types
|
|
3188 //
|
|
3189 if (p is Binary) return ToUInt64((Binary) p);
|
|
3190 if (p is Byte[]) return ToUInt64((Byte[]) p);
|
|
3191
|
|
3192 #if !SILVERLIGHT
|
|
3193
|
|
3194 // Sql Types
|
|
3195 //
|
|
3196 if (p is INullable)
|
|
3197 {
|
|
3198 if (p is SqlBoolean) return ToUInt64((SqlBoolean)p);
|
|
3199 if (p is SqlByte) return ToUInt64((SqlByte) p);
|
|
3200 if (p is SqlDecimal) return ToUInt64((SqlDecimal)p);
|
|
3201 if (p is SqlDouble) return ToUInt64((SqlDouble) p);
|
|
3202 if (p is SqlInt16) return ToUInt64((SqlInt16) p);
|
|
3203 if (p is SqlInt32) return ToUInt64((SqlInt32) p);
|
|
3204 if (p is SqlInt64) return ToUInt64((SqlInt64) p);
|
|
3205 if (p is SqlMoney) return ToUInt64((SqlMoney) p);
|
|
3206 if (p is SqlSingle) return ToUInt64((SqlSingle) p);
|
|
3207 if (p is SqlString) return ToUInt64((SqlString) p);
|
|
3208 }
|
|
3209
|
|
3210 #endif
|
|
3211
|
|
3212 if (p is IConvertible) return ((IConvertible)p).ToUInt64(null);
|
|
3213
|
|
3214 throw CreateInvalidCastException(p.GetType(), typeof(UInt64));
|
|
3215 }
|
|
3216
|
|
3217 #endregion
|
|
3218
|
|
3219 #endregion
|
|
3220
|
|
3221 #region Nullable Types
|
|
3222
|
|
3223 #region Boolean?
|
|
3224
|
|
3225 // Simple Types
|
|
3226 //
|
|
3227 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3228 public static Boolean? ToNullableBoolean(Boolean p) { return p; }
|
|
3229 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3230 public static Boolean? ToNullableBoolean(Byte p) { return p != 0; }
|
|
3231 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3232 public static Boolean? ToNullableBoolean(Char p) { return ToBoolean(p); }
|
|
3233 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3234 public static Boolean? ToNullableBoolean(Decimal p) { return p != 0; }
|
|
3235 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3236 public static Boolean? ToNullableBoolean(Double p) { return p != 0; }
|
|
3237 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3238 public static Boolean? ToNullableBoolean(Int16 p) { return p != 0; }
|
|
3239 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3240 public static Boolean? ToNullableBoolean(Int32 p) { return p != 0; }
|
|
3241 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3242 public static Boolean? ToNullableBoolean(Int64 p) { return p != 0; }
|
|
3243 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3244 [CLSCompliant(false)]
|
|
3245 public static Boolean? ToNullableBoolean(SByte p) { return p != 0; }
|
|
3246 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3247 public static Boolean? ToNullableBoolean(Single p) { return p != 0; }
|
|
3248 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3249 public static Boolean? ToNullableBoolean(String p) { return p == null? (Boolean?)null : p.Length == 1 ? ToBoolean(p[0]) : Boolean.Parse(p); }
|
|
3250 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3251 [CLSCompliant(false)]
|
|
3252 public static Boolean? ToNullableBoolean(UInt16 p) { return p != 0; }
|
|
3253 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3254 [CLSCompliant(false)]
|
|
3255 public static Boolean? ToNullableBoolean(UInt32 p) { return p != 0; }
|
|
3256 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3257 [CLSCompliant(false)]
|
|
3258 public static Boolean? ToNullableBoolean(UInt64 p) { return p != 0; }
|
|
3259
|
|
3260 // Nullable Types
|
|
3261 //
|
|
3262 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3263 public static Boolean? ToNullableBoolean(Byte? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3264 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3265 public static Boolean? ToNullableBoolean(Char? p) { return p.HasValue && ToBoolean(p.Value); }
|
|
3266 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3267 public static Boolean? ToNullableBoolean(Decimal? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3268 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3269 public static Boolean? ToNullableBoolean(Double? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3270 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3271 public static Boolean? ToNullableBoolean(Int16? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3272 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3273 public static Boolean? ToNullableBoolean(Int32? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3274 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3275 public static Boolean? ToNullableBoolean(Int64? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3276 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3277 [CLSCompliant(false)]
|
|
3278 public static Boolean? ToNullableBoolean(SByte? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3279 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3280 public static Boolean? ToNullableBoolean(Single? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3281 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3282 [CLSCompliant(false)]
|
|
3283 public static Boolean? ToNullableBoolean(UInt16? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3284 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3285 [CLSCompliant(false)]
|
|
3286 public static Boolean? ToNullableBoolean(UInt32? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3287 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3288 [CLSCompliant(false)]
|
|
3289 public static Boolean? ToNullableBoolean(UInt64? p) { return p.HasValue ? p.Value != 0 : (Boolean?)null; }
|
|
3290
|
|
3291 // Other Types
|
|
3292 //
|
|
3293 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3294 public static Boolean? ToNullableBoolean(Binary p) { return p == null || p.Length == 0 ? (Boolean?)null : BitConverter.ToBoolean(p.ToArray(), 0); }
|
|
3295 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3296 public static Boolean? ToNullableBoolean(Byte[] p) { return p == null || p.Length == 0 ? (Boolean?)null : BitConverter.ToBoolean(p, 0); }
|
|
3297
|
|
3298 #if !SILVERLIGHT
|
|
3299
|
|
3300 // Sql Types
|
|
3301 //
|
|
3302 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3303 public static Boolean? ToNullableBoolean(SqlBoolean p) { return p.IsNull ? (Boolean?)null : p.Value; }
|
|
3304 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3305 public static Boolean? ToNullableBoolean(SqlByte p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3306 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3307 public static Boolean? ToNullableBoolean(SqlDecimal p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3308 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3309 public static Boolean? ToNullableBoolean(SqlDouble p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3310 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3311 public static Boolean? ToNullableBoolean(SqlInt16 p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3312 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3313 public static Boolean? ToNullableBoolean(SqlInt32 p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3314 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3315 public static Boolean? ToNullableBoolean(SqlInt64 p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3316 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3317 public static Boolean? ToNullableBoolean(SqlMoney p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3318 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3319 public static Boolean? ToNullableBoolean(SqlSingle p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3320 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3321 public static Boolean? ToNullableBoolean(SqlString p) { return p.IsNull ? (Boolean?)null : ToBoolean(p.Value); }
|
|
3322
|
|
3323 #endif
|
|
3324
|
|
3325 // From Object
|
|
3326 //
|
|
3327 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Boolean?</c> value.</summary>
|
|
3328 public static Boolean? ToNullableBoolean(object p)
|
|
3329 {
|
|
3330 if (p == null) return null;
|
|
3331
|
|
3332 if (p is Boolean?) return (Boolean?)p;
|
|
3333
|
|
3334 var type = p.GetType();
|
|
3335
|
|
3336 // Primitive types
|
|
3337 //
|
|
3338 switch (Type.GetTypeCode(type))
|
|
3339 {
|
|
3340 case TypeCode.DBNull : return null;
|
|
3341 case TypeCode.String : return ToNullableBoolean((String) p);
|
|
3342 case TypeCode.Boolean : return ToNullableBoolean((Boolean) p);
|
|
3343 case TypeCode.Char : return ToNullableBoolean((Char) p);
|
|
3344 case TypeCode.SByte : return ToNullableBoolean((SByte) p);
|
|
3345 case TypeCode.Int16 : return ToNullableBoolean((Int16) p);
|
|
3346 case TypeCode.Int32 : return ToNullableBoolean((Int32) p);
|
|
3347 case TypeCode.Int64 : return ToNullableBoolean((Int64) p);
|
|
3348 case TypeCode.Byte : return ToNullableBoolean((Byte) p);
|
|
3349 case TypeCode.UInt16 : return ToNullableBoolean((UInt16) p);
|
|
3350 case TypeCode.UInt32 : return ToNullableBoolean((UInt32) p);
|
|
3351 case TypeCode.UInt64 : return ToNullableBoolean((UInt64) p);
|
|
3352 case TypeCode.Single : return ToNullableBoolean((Single) p);
|
|
3353 case TypeCode.Double : return ToNullableBoolean((Double) p);
|
|
3354 case TypeCode.Decimal : return ToNullableBoolean((Decimal) p);
|
|
3355 }
|
|
3356
|
|
3357 // Nullable Types
|
|
3358 //
|
|
3359 if (type.IsGenericType)
|
|
3360 {
|
|
3361 if (p is Byte?) return ToNullableBoolean((Byte?) p);
|
|
3362 if (p is Char?) return ToNullableBoolean((Char?) p);
|
|
3363 if (p is Decimal?) return ToNullableBoolean((Decimal?) p);
|
|
3364 if (p is Double?) return ToNullableBoolean((Double?) p);
|
|
3365 if (p is Int16?) return ToNullableBoolean((Int16?) p);
|
|
3366 if (p is Int32?) return ToNullableBoolean((Int32?) p);
|
|
3367 if (p is Int64?) return ToNullableBoolean((Int64?) p);
|
|
3368 if (p is SByte?) return ToNullableBoolean((SByte?) p);
|
|
3369 if (p is Single?) return ToNullableBoolean((Single?) p);
|
|
3370 if (p is UInt16?) return ToNullableBoolean((UInt16?) p);
|
|
3371 if (p is UInt32?) return ToNullableBoolean((UInt32?) p);
|
|
3372 if (p is UInt64?) return ToNullableBoolean((UInt64?) p);
|
|
3373 }
|
|
3374
|
|
3375 // Other Types
|
|
3376 //
|
|
3377 if (p is Binary) return ToNullableBoolean((Binary) p);
|
|
3378 if (p is Byte[]) return ToNullableBoolean((Byte[]) p);
|
|
3379
|
|
3380 #if !SILVERLIGHT
|
|
3381
|
|
3382 // Sql Types
|
|
3383 //
|
|
3384 if (p is INullable)
|
|
3385 {
|
|
3386 if (p is SqlBoolean) return ToNullableBoolean((SqlBoolean)p);
|
|
3387 if (p is SqlByte) return ToNullableBoolean((SqlByte) p);
|
|
3388 if (p is SqlDecimal) return ToNullableBoolean((SqlDecimal)p);
|
|
3389 if (p is SqlDouble) return ToNullableBoolean((SqlDouble) p);
|
|
3390 if (p is SqlInt16) return ToNullableBoolean((SqlInt16) p);
|
|
3391 if (p is SqlInt32) return ToNullableBoolean((SqlInt32) p);
|
|
3392 if (p is SqlInt64) return ToNullableBoolean((SqlInt64) p);
|
|
3393 if (p is SqlMoney) return ToNullableBoolean((SqlMoney) p);
|
|
3394 if (p is SqlSingle) return ToNullableBoolean((SqlSingle) p);
|
|
3395 if (p is SqlString) return ToNullableBoolean((SqlString) p);
|
|
3396 }
|
|
3397
|
|
3398 #endif
|
|
3399
|
|
3400 throw CreateInvalidCastException(p.GetType(), typeof(Boolean?));
|
|
3401 }
|
|
3402
|
|
3403 #endregion
|
|
3404
|
|
3405 #region Byte?
|
|
3406
|
|
3407 // Simple Types
|
|
3408 //
|
|
3409 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3410 public static Byte? ToNullableByte(Boolean p) { return p ? (Byte?)1 : (Byte?)0; }
|
|
3411 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3412 public static Byte? ToNullableByte(Byte p) { return p; }
|
|
3413 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3414 public static Byte? ToNullableByte(Char p) { return checked((Byte?)p); }
|
|
3415 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3416 public static Byte? ToNullableByte(Decimal p) { return checked((Byte?)p); }
|
|
3417 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3418 public static Byte? ToNullableByte(Double p) { return checked((Byte?)p); }
|
|
3419 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3420 public static Byte? ToNullableByte(Int16 p) { return checked((Byte?)p); }
|
|
3421 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3422 public static Byte? ToNullableByte(Int32 p) { return checked((Byte?)p); }
|
|
3423 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3424 public static Byte? ToNullableByte(Int64 p) { return checked((Byte?)p); }
|
|
3425 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3426 [CLSCompliant(false)]
|
|
3427 public static Byte? ToNullableByte(SByte p) { return checked((Byte?)p); }
|
|
3428 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3429 public static Byte? ToNullableByte(Single p) { return checked((Byte?)p); }
|
|
3430 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3431 public static Byte? ToNullableByte(String p) { return p == null? (Byte?)null : Byte.Parse(p); }
|
|
3432 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3433 [CLSCompliant(false)]
|
|
3434 public static Byte? ToNullableByte(UInt16 p) { return checked((Byte?)p); }
|
|
3435 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3436 [CLSCompliant(false)]
|
|
3437 public static Byte? ToNullableByte(UInt32 p) { return checked((Byte?)p); }
|
|
3438 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3439 [CLSCompliant(false)]
|
|
3440 public static Byte? ToNullableByte(UInt64 p) { return checked((Byte?)p); }
|
|
3441
|
|
3442 // Nullable Types
|
|
3443 //
|
|
3444 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3445 public static Byte? ToNullableByte(Boolean? p) { return p.HasValue && p.Value ? (Byte?)1: (Byte?)0; }
|
|
3446 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3447 public static Byte? ToNullableByte(Char? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3448 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3449 public static Byte? ToNullableByte(Decimal? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3450 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3451 public static Byte? ToNullableByte(Double? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3452 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3453 public static Byte? ToNullableByte(Int16? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3454 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3455 public static Byte? ToNullableByte(Int32? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3456 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3457 public static Byte? ToNullableByte(Int64? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3458 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3459 [CLSCompliant(false)]
|
|
3460 public static Byte? ToNullableByte(SByte? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3461 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3462 public static Byte? ToNullableByte(Single? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3463 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3464 [CLSCompliant(false)]
|
|
3465 public static Byte? ToNullableByte(UInt16? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3466 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3467 [CLSCompliant(false)]
|
|
3468 public static Byte? ToNullableByte(UInt32? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3469 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3470 [CLSCompliant(false)]
|
|
3471 public static Byte? ToNullableByte(UInt64? p) { return p.HasValue ? checked((Byte?)p.Value) : (Byte?)null; }
|
|
3472
|
|
3473 // Other Types
|
|
3474 //
|
|
3475 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3476 public static Byte? ToNullableByte(Binary p) { return p == null || p.Length == 0 ? (Byte?)null : p.ToArray()[0]; }
|
|
3477 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3478 public static Byte? ToNullableByte(Byte[] p) { return p == null || p.Length == 0 ? (Byte?)null : p[0]; }
|
|
3479
|
|
3480 #if !SILVERLIGHT
|
|
3481
|
|
3482 // Sql Types
|
|
3483 //
|
|
3484 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3485 public static Byte? ToNullableByte(SqlBoolean p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3486 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3487 public static Byte? ToNullableByte(SqlByte p) { return p.IsNull ? (Byte?)null : p.Value; }
|
|
3488 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3489 public static Byte? ToNullableByte(SqlDecimal p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3490 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3491 public static Byte? ToNullableByte(SqlDouble p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3492 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3493 public static Byte? ToNullableByte(SqlInt16 p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3494 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3495 public static Byte? ToNullableByte(SqlInt32 p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3496 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3497 public static Byte? ToNullableByte(SqlInt64 p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3498 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3499 public static Byte? ToNullableByte(SqlMoney p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3500 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3501 public static Byte? ToNullableByte(SqlSingle p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3502 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3503 public static Byte? ToNullableByte(SqlString p) { return p.IsNull ? (Byte?)null : ToByte(p.Value); }
|
|
3504
|
|
3505 #endif
|
|
3506
|
|
3507 // From Object
|
|
3508 //
|
|
3509 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Byte?</c> value.</summary>
|
|
3510 public static Byte? ToNullableByte(object p)
|
|
3511 {
|
|
3512 if (p == null) return null;
|
|
3513
|
|
3514 if (p is Byte?) return (Byte?)p;
|
|
3515
|
|
3516 var type = p.GetType();
|
|
3517
|
|
3518 // Primitive types
|
|
3519 //
|
|
3520 switch (Type.GetTypeCode(type))
|
|
3521 {
|
|
3522 case TypeCode.DBNull : return null;
|
|
3523 case TypeCode.Byte : return ToNullableByte((Byte) p);
|
|
3524 case TypeCode.SByte : return ToNullableByte((SByte) p);
|
|
3525 case TypeCode.Int16 : return ToNullableByte((Int16) p);
|
|
3526 case TypeCode.Int32 : return ToNullableByte((Int32) p);
|
|
3527 case TypeCode.Int64 : return ToNullableByte((Int64) p);
|
|
3528 case TypeCode.UInt16 : return ToNullableByte((UInt16) p);
|
|
3529 case TypeCode.UInt32 : return ToNullableByte((UInt32) p);
|
|
3530 case TypeCode.UInt64 : return ToNullableByte((UInt64) p);
|
|
3531 case TypeCode.Single : return ToNullableByte((Single) p);
|
|
3532 case TypeCode.Double : return ToNullableByte((Double) p);
|
|
3533 case TypeCode.Decimal : return ToNullableByte((Decimal)p);
|
|
3534 case TypeCode.Char : return ToNullableByte((Char) p);
|
|
3535 case TypeCode.String : return ToNullableByte((String) p);
|
|
3536 case TypeCode.Boolean : return ToNullableByte((Boolean)p);
|
|
3537 }
|
|
3538
|
|
3539 // Nullable Types
|
|
3540 //
|
|
3541 if (type.IsGenericType)
|
|
3542 {
|
|
3543 if (p is Boolean?) return ToNullableByte((Boolean?) p);
|
|
3544 if (p is Char?) return ToNullableByte((Char?) p);
|
|
3545 if (p is Decimal?) return ToNullableByte((Decimal?) p);
|
|
3546 if (p is Double?) return ToNullableByte((Double?) p);
|
|
3547 if (p is Int16?) return ToNullableByte((Int16?) p);
|
|
3548 if (p is Int32?) return ToNullableByte((Int32?) p);
|
|
3549 if (p is Int64?) return ToNullableByte((Int64?) p);
|
|
3550 if (p is SByte?) return ToNullableByte((SByte?) p);
|
|
3551 if (p is Single?) return ToNullableByte((Single?) p);
|
|
3552 if (p is UInt16?) return ToNullableByte((UInt16?) p);
|
|
3553 if (p is UInt32?) return ToNullableByte((UInt32?) p);
|
|
3554 if (p is UInt64?) return ToNullableByte((UInt64?) p);
|
|
3555 }
|
|
3556
|
|
3557 // Other Types
|
|
3558 //
|
|
3559 if (p is Binary) return ToNullableByte((Binary) p);
|
|
3560 if (p is Byte[]) return ToNullableByte((Byte[]) p);
|
|
3561
|
|
3562 #if !SILVERLIGHT
|
|
3563
|
|
3564 // Sql Types
|
|
3565 //
|
|
3566 if (p is INullable)
|
|
3567 {
|
|
3568 if (p is SqlBoolean) return ToNullableByte((SqlBoolean)p);
|
|
3569 if (p is SqlByte) return ToNullableByte((SqlByte) p);
|
|
3570 if (p is SqlDecimal) return ToNullableByte((SqlDecimal)p);
|
|
3571 if (p is SqlDouble) return ToNullableByte((SqlDouble) p);
|
|
3572 if (p is SqlInt16) return ToNullableByte((SqlInt16) p);
|
|
3573 if (p is SqlInt32) return ToNullableByte((SqlInt32) p);
|
|
3574 if (p is SqlInt64) return ToNullableByte((SqlInt64) p);
|
|
3575 if (p is SqlMoney) return ToNullableByte((SqlMoney) p);
|
|
3576 if (p is SqlSingle) return ToNullableByte((SqlSingle) p);
|
|
3577 if (p is SqlString) return ToNullableByte((SqlString) p);
|
|
3578 }
|
|
3579
|
|
3580 #endif
|
|
3581
|
|
3582 throw CreateInvalidCastException(p.GetType(), typeof(Byte?));
|
|
3583 }
|
|
3584
|
|
3585 #endregion
|
|
3586
|
|
3587 #region Char?
|
|
3588
|
|
3589 // Simple Types
|
|
3590 //
|
|
3591 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3592 public static Char? ToNullableChar(Boolean p) { return p ? (Char?)1 : (Char?)0; }
|
|
3593 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3594 public static Char? ToNullableChar(Byte p) { return checked((Char?)p); }
|
|
3595 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3596 public static Char? ToNullableChar(Char p) { return p; }
|
|
3597 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3598 public static Char? ToNullableChar(Decimal p) { return checked((Char?)p); }
|
|
3599 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3600 public static Char? ToNullableChar(Double p) { return checked((Char?)p); }
|
|
3601 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3602 public static Char? ToNullableChar(Int16 p) { return checked((Char?)p); }
|
|
3603 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3604 public static Char? ToNullableChar(Int32 p) { return checked((Char?)p); }
|
|
3605 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3606 public static Char? ToNullableChar(Int64 p) { return checked((Char?)p); }
|
|
3607 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3608 [CLSCompliant(false)]
|
|
3609 public static Char? ToNullableChar(SByte p) { return checked((Char?)p); }
|
|
3610 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3611 public static Char? ToNullableChar(Single p) { return checked((Char?)p); }
|
|
3612 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3613 public static Char? ToNullableChar(String p) { return string.IsNullOrEmpty(p)? (Char?)0 : p[0]; }
|
|
3614 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3615 [CLSCompliant(false)]
|
|
3616 public static Char? ToNullableChar(UInt16 p) { return checked((Char?)p); }
|
|
3617 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3618 [CLSCompliant(false)]
|
|
3619 public static Char? ToNullableChar(UInt32 p) { return checked((Char?)p); }
|
|
3620 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3621 [CLSCompliant(false)]
|
|
3622 public static Char? ToNullableChar(UInt64 p) { return checked((Char?)p); }
|
|
3623
|
|
3624 // Nullable Types
|
|
3625 //
|
|
3626 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3627 public static Char? ToNullableChar(Boolean? p) { return p.HasValue && p.Value ? (Char?)1: (Char?)0; }
|
|
3628 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3629 public static Char? ToNullableChar(Byte? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3630 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3631 public static Char? ToNullableChar(Decimal? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3632 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3633 public static Char? ToNullableChar(Double? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3634 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3635 public static Char? ToNullableChar(Int16? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3636 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3637 public static Char? ToNullableChar(Int32? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3638 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3639 public static Char? ToNullableChar(Int64? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3640 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3641 [CLSCompliant(false)]
|
|
3642 public static Char? ToNullableChar(SByte? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3643 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3644 public static Char? ToNullableChar(Single? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3645 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3646 [CLSCompliant(false)]
|
|
3647 public static Char? ToNullableChar(UInt16? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3648 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3649 [CLSCompliant(false)]
|
|
3650 public static Char? ToNullableChar(UInt32? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3651 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3652 [CLSCompliant(false)]
|
|
3653 public static Char? ToNullableChar(UInt64? p) { return p.HasValue ? checked((Char?)p.Value) : (Char?)null; }
|
|
3654
|
|
3655 // Other Types
|
|
3656 //
|
|
3657 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3658 public static Char? ToNullableChar(Binary p) { return p == null || p.Length == 0 ? (Char?)null : BitConverter.ToChar(p.ToArray(), 0); }
|
|
3659 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3660 public static Char? ToNullableChar(Byte[] p) { return p == null || p.Length == 0 ? (Char?)null : BitConverter.ToChar(p, 0); }
|
|
3661
|
|
3662 #if !SILVERLIGHT
|
|
3663
|
|
3664 // Sql Types
|
|
3665 //
|
|
3666 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3667 public static Char? ToNullableChar(SqlBoolean p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3668 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3669 public static Char? ToNullableChar(SqlByte p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3670 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3671 public static Char? ToNullableChar(SqlDecimal p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3672 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3673 public static Char? ToNullableChar(SqlDouble p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3674 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3675 public static Char? ToNullableChar(SqlInt16 p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3676 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3677 public static Char? ToNullableChar(SqlInt32 p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3678 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3679 public static Char? ToNullableChar(SqlInt64 p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3680 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3681 public static Char? ToNullableChar(SqlMoney p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3682 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3683 public static Char? ToNullableChar(SqlSingle p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3684 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3685 public static Char? ToNullableChar(SqlString p) { return p.IsNull ? (Char?)null : ToChar(p.Value); }
|
|
3686
|
|
3687 #endif
|
|
3688
|
|
3689 // From Object
|
|
3690 //
|
|
3691 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Char?</c> value.</summary>
|
|
3692 public static Char? ToNullableChar(object p)
|
|
3693 {
|
|
3694 if (p == null) return null;
|
|
3695
|
|
3696 if (p is Char?) return (Char?)p;
|
|
3697
|
|
3698 var type = p.GetType();
|
|
3699
|
|
3700 // Primitive types
|
|
3701 //
|
|
3702 switch (Type.GetTypeCode(type))
|
|
3703 {
|
|
3704 case TypeCode.DBNull : return null;
|
|
3705 case TypeCode.Char : return ToNullableChar((Char) p);
|
|
3706 case TypeCode.SByte : return ToNullableChar((SByte) p);
|
|
3707 case TypeCode.Int16 : return ToNullableChar((Int16) p);
|
|
3708 case TypeCode.Int32 : return ToNullableChar((Int32) p);
|
|
3709 case TypeCode.Int64 : return ToNullableChar((Int64) p);
|
|
3710 case TypeCode.Byte : return ToNullableChar((Byte) p);
|
|
3711 case TypeCode.UInt16 : return ToNullableChar((UInt16) p);
|
|
3712 case TypeCode.UInt32 : return ToNullableChar((UInt32) p);
|
|
3713 case TypeCode.UInt64 : return ToNullableChar((UInt64) p);
|
|
3714 case TypeCode.Single : return ToNullableChar((Single) p);
|
|
3715 case TypeCode.Double : return ToNullableChar((Double) p);
|
|
3716 case TypeCode.Decimal : return ToNullableChar((Decimal)p);
|
|
3717 case TypeCode.String : return ToNullableChar((String) p);
|
|
3718 case TypeCode.Boolean : return ToNullableChar((Boolean)p);
|
|
3719 }
|
|
3720
|
|
3721 // Nullable Types
|
|
3722 //
|
|
3723 if (type.IsGenericType)
|
|
3724 {
|
|
3725 if (p is Boolean?) return ToNullableChar((Boolean?) p);
|
|
3726 if (p is Byte?) return ToNullableChar((Byte?) p);
|
|
3727 if (p is Decimal?) return ToNullableChar((Decimal?) p);
|
|
3728 if (p is Double?) return ToNullableChar((Double?) p);
|
|
3729 if (p is Int16?) return ToNullableChar((Int16?) p);
|
|
3730 if (p is Int32?) return ToNullableChar((Int32?) p);
|
|
3731 if (p is Int64?) return ToNullableChar((Int64?) p);
|
|
3732 if (p is SByte?) return ToNullableChar((SByte?) p);
|
|
3733 if (p is Single?) return ToNullableChar((Single?) p);
|
|
3734 if (p is UInt16?) return ToNullableChar((UInt16?) p);
|
|
3735 if (p is UInt32?) return ToNullableChar((UInt32?) p);
|
|
3736 if (p is UInt64?) return ToNullableChar((UInt64?) p);
|
|
3737 }
|
|
3738
|
|
3739 // Other Types
|
|
3740 //
|
|
3741 if (p is Binary) return ToNullableChar((Binary) p);
|
|
3742 if (p is Byte[]) return ToNullableChar((Byte[]) p);
|
|
3743
|
|
3744 #if !SILVERLIGHT
|
|
3745
|
|
3746 // Sql Types
|
|
3747 //
|
|
3748 if (p is INullable)
|
|
3749 {
|
|
3750 if (p is SqlBoolean) return ToNullableChar((SqlBoolean)p);
|
|
3751 if (p is SqlByte) return ToNullableChar((SqlByte) p);
|
|
3752 if (p is SqlDecimal) return ToNullableChar((SqlDecimal)p);
|
|
3753 if (p is SqlDouble) return ToNullableChar((SqlDouble) p);
|
|
3754 if (p is SqlInt16) return ToNullableChar((SqlInt16) p);
|
|
3755 if (p is SqlInt32) return ToNullableChar((SqlInt32) p);
|
|
3756 if (p is SqlInt64) return ToNullableChar((SqlInt64) p);
|
|
3757 if (p is SqlMoney) return ToNullableChar((SqlMoney) p);
|
|
3758 if (p is SqlSingle) return ToNullableChar((SqlSingle) p);
|
|
3759 if (p is SqlString) return ToNullableChar((SqlString) p);
|
|
3760 }
|
|
3761
|
|
3762 #endif
|
|
3763
|
|
3764 throw CreateInvalidCastException(p.GetType(), typeof(Char?));
|
|
3765 }
|
|
3766
|
|
3767 #endregion
|
|
3768
|
|
3769 #region DateTime?
|
|
3770
|
|
3771 // Simple Types
|
|
3772 //
|
|
3773 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3774 public static DateTime? ToNullableDateTime(DateTime p) { return p; }
|
|
3775 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3776 public static DateTime? ToNullableDateTime(DateTimeOffset p) { return p.LocalDateTime; }
|
|
3777 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3778 public static DateTime? ToNullableDateTime(Double p) { return DateTime.MinValue + TimeSpan.FromDays (p); }
|
|
3779 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3780 public static DateTime? ToNullableDateTime(Int64 p) { return DateTime.MinValue + TimeSpan.FromTicks(p); }
|
|
3781 /// <summary>Converts the value from <c>String</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3782 public static DateTime? ToNullableDateTime(String p) { return p == null ? (DateTime?)null : DateTime.Parse(p, null, DateTimeStyles.NoCurrentDateDefault); }
|
|
3783 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3784 public static DateTime? ToNullableDateTime(TimeSpan p) { return DateTime.MinValue + p; }
|
|
3785
|
|
3786 // Nullable Types
|
|
3787 //
|
|
3788 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3789 public static DateTime? ToNullableDateTime(DateTimeOffset? p) { return p.HasValue ? p.Value.LocalDateTime : (DateTime?)null; }
|
|
3790 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3791 public static DateTime? ToNullableDateTime(Double? p) { return p.HasValue ? DateTime.MinValue + TimeSpan.FromDays (p.Value): (DateTime?)null; }
|
|
3792 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3793 public static DateTime? ToNullableDateTime(Int64? p) { return p.HasValue ? DateTime.MinValue + TimeSpan.FromTicks(p.Value): (DateTime?)null; }
|
|
3794 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3795 public static DateTime? ToNullableDateTime(TimeSpan? p) { return p.HasValue ? DateTime.MinValue + p.Value : (DateTime?)null; }
|
|
3796
|
|
3797 // Other Types
|
|
3798 //
|
|
3799 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3800 public static DateTime? ToNullableDateTime(Binary p) { return p == null || p.Length == 0 ? (DateTime?)null : DateTime.FromBinary(ToInt64(p.ToArray())); }
|
|
3801 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3802 public static DateTime? ToNullableDateTime(Byte[] p) { return p == null || p.Length == 0 ? (DateTime?)null : DateTime.FromBinary(ToInt64(p)); }
|
|
3803
|
|
3804 #if !SILVERLIGHT
|
|
3805
|
|
3806 // Sql Types
|
|
3807 //
|
|
3808 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3809 public static DateTime? ToNullableDateTime(SqlDateTime p) { return p.IsNull ? (DateTime?)null : p.Value; }
|
|
3810 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3811 public static DateTime? ToNullableDateTime(SqlDouble p) { return p.IsNull ? (DateTime?)null : DateTime.MinValue + TimeSpan.FromDays (p.Value); }
|
|
3812 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3813 public static DateTime? ToNullableDateTime(SqlInt64 p) { return p.IsNull ? (DateTime?)null : DateTime.MinValue + TimeSpan.FromTicks(p.Value); }
|
|
3814 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3815 public static DateTime? ToNullableDateTime(SqlString p) { return p.IsNull ? (DateTime?)null : ToDateTime(p.Value); }
|
|
3816
|
|
3817 #endif
|
|
3818
|
|
3819 // From Object
|
|
3820 //
|
|
3821 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>DateTime?</c> value.</summary>
|
|
3822 public static DateTime? ToNullableDateTime(object p)
|
|
3823 {
|
|
3824 if (p == null) return null;
|
|
3825
|
|
3826 if (p is DateTime?) return (DateTime?)p;
|
|
3827
|
|
3828 var type = p.GetType();
|
|
3829
|
|
3830 // Primitive types
|
|
3831 //
|
|
3832 switch (Type.GetTypeCode(type))
|
|
3833 {
|
|
3834 case TypeCode.DBNull : return null;
|
|
3835 case TypeCode.DateTime : return ToNullableDateTime((DateTime) p);
|
|
3836 case TypeCode.String : return ToNullableDateTime((String) p);
|
|
3837 case TypeCode.Int64 : return ToNullableDateTime((Int64) p);
|
|
3838 case TypeCode.Double : return ToNullableDateTime((Double) p);
|
|
3839 }
|
|
3840
|
|
3841 // Simple Types
|
|
3842 //
|
|
3843 if (p is DateTimeOffset) return ToNullableDateTime((DateTimeOffset) p);
|
|
3844 if (p is TimeSpan) return ToNullableDateTime((TimeSpan) p);
|
|
3845
|
|
3846 // Nullable Types
|
|
3847 //
|
|
3848 if (type.IsGenericType)
|
|
3849 {
|
|
3850 if (p is DateTimeOffset?) return ToNullableDateTime((DateTimeOffset?)p);
|
|
3851 if (p is Double?) return ToNullableDateTime((Double?) p);
|
|
3852 if (p is Int64?) return ToNullableDateTime((Int64?) p);
|
|
3853 if (p is TimeSpan?) return ToNullableDateTime((TimeSpan?) p);
|
|
3854 }
|
|
3855
|
|
3856 // Other Types
|
|
3857 //
|
|
3858 if (p is Binary) return ToNullableDateTime((Binary) p);
|
|
3859 if (p is Byte[]) return ToNullableDateTime((Byte[]) p);
|
|
3860
|
|
3861 #if !SILVERLIGHT
|
|
3862
|
|
3863 // Sql Types
|
|
3864 //
|
|
3865 if (p is INullable)
|
|
3866 {
|
|
3867 if (p is SqlDateTime) return ToNullableDateTime((SqlDateTime) p);
|
|
3868 if (p is SqlDouble) return ToNullableDateTime((SqlDouble) p);
|
|
3869 if (p is SqlInt64) return ToNullableDateTime((SqlInt64) p);
|
|
3870 if (p is SqlString) return ToNullableDateTime((SqlString) p);
|
|
3871 }
|
|
3872
|
|
3873 #endif
|
|
3874
|
|
3875 throw CreateInvalidCastException(p.GetType(), typeof(DateTime?));
|
|
3876 }
|
|
3877
|
|
3878 #endregion
|
|
3879
|
|
3880 #region DateTimeOffset?
|
|
3881
|
|
3882 // Simple Types
|
|
3883 //
|
|
3884 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3885 public static DateTimeOffset? ToNullableDateTimeOffset(DateTime p) { return p; }
|
|
3886 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3887 public static DateTimeOffset? ToNullableDateTimeOffset(DateTimeOffset p) { return p; }
|
|
3888 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3889 public static DateTimeOffset? ToNullableDateTimeOffset(Double p) { return DateTimeOffset.MinValue + TimeSpan.FromDays (p); }
|
|
3890 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3891 public static DateTimeOffset? ToNullableDateTimeOffset(Int64 p) { return DateTimeOffset.MinValue + TimeSpan.FromTicks(p); }
|
|
3892 /// <summary>Converts the value from <c>String</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3893 public static DateTimeOffset? ToNullableDateTimeOffset(String p) { return p == null? (DateTimeOffset?)null : DateTimeOffset.Parse(p); }
|
|
3894 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3895 public static DateTimeOffset? ToNullableDateTimeOffset(TimeSpan p) { return DateTimeOffset.MinValue + p; }
|
|
3896
|
|
3897 // Nullable Types
|
|
3898 //
|
|
3899 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3900 public static DateTimeOffset? ToNullableDateTimeOffset(DateTime? p) { return p.HasValue ? p.Value : (DateTimeOffset?)null; }
|
|
3901 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3902 public static DateTimeOffset? ToNullableDateTimeOffset(Double? p) { return p.HasValue ? DateTimeOffset.MinValue + TimeSpan.FromDays (p.Value): (DateTimeOffset?)null; }
|
|
3903 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3904 public static DateTimeOffset? ToNullableDateTimeOffset(Int64? p) { return p.HasValue ? DateTimeOffset.MinValue + TimeSpan.FromTicks(p.Value): (DateTimeOffset?)null; }
|
|
3905 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3906 public static DateTimeOffset? ToNullableDateTimeOffset(TimeSpan? p) { return p.HasValue ? DateTimeOffset.MinValue + p.Value : (DateTimeOffset?)null; }
|
|
3907
|
|
3908 // Other Types
|
|
3909 //
|
|
3910 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3911 public static DateTimeOffset? ToNullableDateTimeOffset(Binary p) { return p == null || p.Length == 0 ? (DateTimeOffset?)null : new DateTimeOffset?(ToDateTime(p.ToArray())); }
|
|
3912 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3913 public static DateTimeOffset? ToNullableDateTimeOffset(Byte[] p) { return p == null || p.Length == 0 ? (DateTimeOffset?)null : new DateTimeOffset?(ToDateTime(p)); }
|
|
3914
|
|
3915 #if !SILVERLIGHT
|
|
3916
|
|
3917 // Sql Types
|
|
3918 //
|
|
3919 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3920 public static DateTimeOffset? ToNullableDateTimeOffset(SqlDateTime p) { return p.IsNull ? (DateTimeOffset?)null : p.Value; }
|
|
3921 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3922 public static DateTimeOffset? ToNullableDateTimeOffset(SqlDouble p) { return p.IsNull ? (DateTimeOffset?)null : DateTimeOffset.MinValue + TimeSpan.FromDays (p.Value); }
|
|
3923 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3924 public static DateTimeOffset? ToNullableDateTimeOffset(SqlInt64 p) { return p.IsNull ? (DateTimeOffset?)null : DateTimeOffset.MinValue + TimeSpan.FromTicks(p.Value); }
|
|
3925 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3926 public static DateTimeOffset? ToNullableDateTimeOffset(SqlString p) { return p.IsNull ? (DateTimeOffset?)null : ToDateTimeOffset(p.Value); }
|
|
3927
|
|
3928 #endif
|
|
3929
|
|
3930 // From Object
|
|
3931 //
|
|
3932 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>DateTimeOffset?</c> value.</summary>
|
|
3933 public static DateTimeOffset? ToNullableDateTimeOffset(object p)
|
|
3934 {
|
|
3935 if (p == null) return null;
|
|
3936
|
|
3937 if (p is DateTimeOffset?) return (DateTimeOffset?)p;
|
|
3938
|
|
3939 var type = p.GetType();
|
|
3940
|
|
3941 // Primitive types
|
|
3942 //
|
|
3943 switch (Type.GetTypeCode(type))
|
|
3944 {
|
|
3945 case TypeCode.DBNull : return null;
|
|
3946 case TypeCode.Int64 : return ToNullableDateTimeOffset((Int64) p);
|
|
3947 case TypeCode.Double : return ToNullableDateTimeOffset((Double) p);
|
|
3948 case TypeCode.DateTime : return ToNullableDateTimeOffset((DateTime) p);
|
|
3949 case TypeCode.String : return ToNullableDateTimeOffset((String) p);
|
|
3950 }
|
|
3951
|
|
3952 // Simple Types
|
|
3953 //
|
|
3954 if (p is DateTimeOffset) return ToNullableDateTimeOffset((DateTimeOffset)p);
|
|
3955 if (p is TimeSpan) return ToNullableDateTimeOffset((TimeSpan) p);
|
|
3956
|
|
3957 // Nullable Types
|
|
3958 //
|
|
3959 if (type.IsGenericType)
|
|
3960 {
|
|
3961 if (p is DateTime?) return ToNullableDateTimeOffset((DateTime?) p);
|
|
3962 if (p is Double?) return ToNullableDateTimeOffset((Double?) p);
|
|
3963 if (p is Int64?) return ToNullableDateTimeOffset((Int64?) p);
|
|
3964 if (p is TimeSpan?) return ToNullableDateTimeOffset((TimeSpan?) p);
|
|
3965 }
|
|
3966
|
|
3967 // Other Types
|
|
3968 //
|
|
3969 if (p is Binary) return ToNullableDateTimeOffset((Binary) p);
|
|
3970 if (p is Byte[]) return ToNullableDateTimeOffset((Byte[]) p);
|
|
3971
|
|
3972 #if !SILVERLIGHT
|
|
3973
|
|
3974 // Sql Types
|
|
3975 //
|
|
3976 if (p is INullable)
|
|
3977 {
|
|
3978 if (p is SqlDateTime) return ToNullableDateTimeOffset((SqlDateTime) p);
|
|
3979 if (p is SqlDouble) return ToNullableDateTimeOffset((SqlDouble) p);
|
|
3980 if (p is SqlInt64) return ToNullableDateTimeOffset((SqlInt64) p);
|
|
3981 if (p is SqlString) return ToNullableDateTimeOffset((SqlString) p);
|
|
3982 }
|
|
3983
|
|
3984 #endif
|
|
3985
|
|
3986 throw CreateInvalidCastException(p.GetType(), typeof(DateTimeOffset?));
|
|
3987 }
|
|
3988
|
|
3989 #endregion
|
|
3990
|
|
3991 #region Decimal?
|
|
3992
|
|
3993 // Simple Types
|
|
3994 //
|
|
3995 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
3996 public static Decimal? ToNullableDecimal(Boolean p) { return p ? (Decimal?)1 : (Decimal?)0; }
|
|
3997 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
3998 public static Decimal? ToNullableDecimal(Byte p) { return p; }
|
|
3999 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4000 public static Decimal? ToNullableDecimal(Char p) { return p; }
|
|
4001 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4002 public static Decimal? ToNullableDecimal(Decimal p) { return p; }
|
|
4003 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4004 public static Decimal? ToNullableDecimal(Double p) { return checked((Decimal?)p); }
|
|
4005 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4006 public static Decimal? ToNullableDecimal(Int16 p) { return p; }
|
|
4007 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4008 public static Decimal? ToNullableDecimal(Int32 p) { return p; }
|
|
4009 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4010 public static Decimal? ToNullableDecimal(Int64 p) { return p; }
|
|
4011 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4012 [CLSCompliant(false)]
|
|
4013 public static Decimal? ToNullableDecimal(SByte p) { return p; }
|
|
4014 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4015 public static Decimal? ToNullableDecimal(Single p) { return checked((Decimal?)p); }
|
|
4016 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4017 public static Decimal? ToNullableDecimal(String p) { return p == null? (Decimal?)null : Decimal.Parse(p); }
|
|
4018 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4019 [CLSCompliant(false)]
|
|
4020 public static Decimal? ToNullableDecimal(UInt16 p) { return p; }
|
|
4021 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4022 [CLSCompliant(false)]
|
|
4023 public static Decimal? ToNullableDecimal(UInt32 p) { return p; }
|
|
4024 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4025 [CLSCompliant(false)]
|
|
4026 public static Decimal? ToNullableDecimal(UInt64 p) { return p; }
|
|
4027
|
|
4028 // Nullable Types
|
|
4029 //
|
|
4030 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4031 public static Decimal? ToNullableDecimal(Boolean? p) { return p.HasValue && p.Value ? (Decimal?)1: (Decimal?)0; }
|
|
4032 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4033 public static Decimal? ToNullableDecimal(Byte? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4034 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4035 public static Decimal? ToNullableDecimal(Char? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4036 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4037 public static Decimal? ToNullableDecimal(Double? p) { return p.HasValue ? checked((Decimal?)p.Value) : (Decimal?)null; }
|
|
4038 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4039 public static Decimal? ToNullableDecimal(Int16? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4040 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4041 public static Decimal? ToNullableDecimal(Int32? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4042 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4043 public static Decimal? ToNullableDecimal(Int64? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4044 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4045 [CLSCompliant(false)]
|
|
4046 public static Decimal? ToNullableDecimal(SByte? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4047 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4048 public static Decimal? ToNullableDecimal(Single? p) { return p.HasValue ? checked((Decimal?)p.Value) : (Decimal?)null; }
|
|
4049 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4050 [CLSCompliant(false)]
|
|
4051 public static Decimal? ToNullableDecimal(UInt16? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4052 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4053 [CLSCompliant(false)]
|
|
4054 public static Decimal? ToNullableDecimal(UInt32? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4055 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4056 [CLSCompliant(false)]
|
|
4057 public static Decimal? ToNullableDecimal(UInt64? p) { return p.HasValue ? p.Value : (Decimal?)null; }
|
|
4058
|
|
4059 // Other Types
|
|
4060 //
|
|
4061 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4062 public static Decimal? ToNullableDecimal(Binary p) { return p == null || p.Length == 0 ? (Decimal?)null : ToDecimal(p); }
|
|
4063 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4064 public static Decimal? ToNullableDecimal(Byte[] p) { return p == null || p.Length == 0 ? (Decimal?)null : ToDecimal(p); }
|
|
4065
|
|
4066 #if !SILVERLIGHT
|
|
4067
|
|
4068 // Sql Types
|
|
4069 //
|
|
4070 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4071 public static Decimal? ToNullableDecimal(SqlBoolean p) { return p.IsNull ? (Decimal?)null : ToDecimal(p.Value); }
|
|
4072 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4073 public static Decimal? ToNullableDecimal(SqlByte p) { return p.IsNull ? (Decimal?)null : p.Value; }
|
|
4074 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4075 public static Decimal? ToNullableDecimal(SqlDecimal p) { return p.IsNull ? (Decimal?)null : p.Value; }
|
|
4076 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4077 public static Decimal? ToNullableDecimal(SqlDouble p) { return p.IsNull ? (Decimal?)null : ToDecimal(p.Value); }
|
|
4078 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4079 public static Decimal? ToNullableDecimal(SqlInt16 p) { return p.IsNull ? (Decimal?)null : p.Value; }
|
|
4080 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4081 public static Decimal? ToNullableDecimal(SqlInt32 p) { return p.IsNull ? (Decimal?)null : p.Value; }
|
|
4082 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4083 public static Decimal? ToNullableDecimal(SqlInt64 p) { return p.IsNull ? (Decimal?)null : p.Value; }
|
|
4084 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4085 public static Decimal? ToNullableDecimal(SqlMoney p) { return p.IsNull ? (Decimal?)null : p.Value; }
|
|
4086 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4087 public static Decimal? ToNullableDecimal(SqlSingle p) { return p.IsNull ? (Decimal?)null : ToDecimal(p.Value); }
|
|
4088 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4089 public static Decimal? ToNullableDecimal(SqlString p) { return p.IsNull ? (Decimal?)null : ToDecimal(p.Value); }
|
|
4090
|
|
4091 #endif
|
|
4092
|
|
4093 // From Object
|
|
4094 //
|
|
4095 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Decimal?</c> value.</summary>
|
|
4096 public static Decimal? ToNullableDecimal(object p)
|
|
4097 {
|
|
4098 if (p == null) return null;
|
|
4099
|
|
4100 if (p is Decimal?) return (Decimal?)p;
|
|
4101
|
|
4102 var type = p.GetType();
|
|
4103
|
|
4104 // Primitive types
|
|
4105 //
|
|
4106 switch (Type.GetTypeCode(type))
|
|
4107 {
|
|
4108 case TypeCode.DBNull : return null;
|
|
4109 case TypeCode.SByte : return ToNullableDecimal((SByte) p);
|
|
4110 case TypeCode.Int16 : return ToNullableDecimal((Int16) p);
|
|
4111 case TypeCode.Int32 : return ToNullableDecimal((Int32) p);
|
|
4112 case TypeCode.Int64 : return ToNullableDecimal((Int64) p);
|
|
4113 case TypeCode.Byte : return ToNullableDecimal((Byte) p);
|
|
4114 case TypeCode.UInt16 : return ToNullableDecimal((UInt16) p);
|
|
4115 case TypeCode.UInt32 : return ToNullableDecimal((UInt32) p);
|
|
4116 case TypeCode.Char : return ToNullableDecimal((Char) p);
|
|
4117 case TypeCode.UInt64 : return ToNullableDecimal((UInt64) p);
|
|
4118 case TypeCode.Decimal : return ToNullableDecimal((Decimal) p);
|
|
4119 case TypeCode.Single : return ToNullableDecimal((Single) p);
|
|
4120 case TypeCode.Double : return ToNullableDecimal((Double) p);
|
|
4121 case TypeCode.String : return ToNullableDecimal((String) p);
|
|
4122 case TypeCode.Boolean : return ToNullableDecimal((Boolean) p);
|
|
4123 }
|
|
4124
|
|
4125 // Nullable Types
|
|
4126 //
|
|
4127 if (type.IsGenericType)
|
|
4128 {
|
|
4129 if (p is Boolean?) return ToNullableDecimal((Boolean?) p);
|
|
4130 if (p is Byte?) return ToNullableDecimal((Byte?) p);
|
|
4131 if (p is Char?) return ToNullableDecimal((Char?) p);
|
|
4132 if (p is Double?) return ToNullableDecimal((Double?) p);
|
|
4133 if (p is Int16?) return ToNullableDecimal((Int16?) p);
|
|
4134 if (p is Int32?) return ToNullableDecimal((Int32?) p);
|
|
4135 if (p is Int64?) return ToNullableDecimal((Int64?) p);
|
|
4136 if (p is SByte?) return ToNullableDecimal((SByte?) p);
|
|
4137 if (p is Single?) return ToNullableDecimal((Single?) p);
|
|
4138 if (p is UInt16?) return ToNullableDecimal((UInt16?) p);
|
|
4139 if (p is UInt32?) return ToNullableDecimal((UInt32?) p);
|
|
4140 if (p is UInt64?) return ToNullableDecimal((UInt64?) p);
|
|
4141 }
|
|
4142
|
|
4143 // Other Types
|
|
4144 //
|
|
4145 if (p is Binary) return ToNullableDecimal((Binary) p);
|
|
4146 if (p is Byte[]) return ToNullableDecimal((Byte[]) p);
|
|
4147
|
|
4148 #if !SILVERLIGHT
|
|
4149
|
|
4150 // Sql Types
|
|
4151 //
|
|
4152 if (p is INullable)
|
|
4153 {
|
|
4154 if (p is SqlBoolean) return ToNullableDecimal((SqlBoolean)p);
|
|
4155 if (p is SqlByte) return ToNullableDecimal((SqlByte) p);
|
|
4156 if (p is SqlDecimal) return ToNullableDecimal((SqlDecimal)p);
|
|
4157 if (p is SqlDouble) return ToNullableDecimal((SqlDouble) p);
|
|
4158 if (p is SqlInt16) return ToNullableDecimal((SqlInt16) p);
|
|
4159 if (p is SqlInt32) return ToNullableDecimal((SqlInt32) p);
|
|
4160 if (p is SqlInt64) return ToNullableDecimal((SqlInt64) p);
|
|
4161 if (p is SqlMoney) return ToNullableDecimal((SqlMoney) p);
|
|
4162 if (p is SqlSingle) return ToNullableDecimal((SqlSingle) p);
|
|
4163 if (p is SqlString) return ToNullableDecimal((SqlString) p);
|
|
4164 }
|
|
4165
|
|
4166 #endif
|
|
4167
|
|
4168 throw CreateInvalidCastException(p.GetType(), typeof(Decimal?));
|
|
4169 }
|
|
4170
|
|
4171 #endregion
|
|
4172
|
|
4173 #region Double?
|
|
4174
|
|
4175 // Simple Types
|
|
4176 //
|
|
4177 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4178 public static Double? ToNullableDouble(Boolean p) { return p ? (Double?)1 : (Double?)0; }
|
|
4179 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4180 public static Double? ToNullableDouble(Byte p) { return p; }
|
|
4181 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4182 public static Double? ToNullableDouble(Char p) { return p; }
|
|
4183 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4184 public static Double? ToNullableDouble(DateTime p) { return (p - DateTime.MinValue).TotalDays; }
|
|
4185 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4186 public static Double? ToNullableDouble(DateTimeOffset p) { return (p - DateTimeOffset.MinValue).TotalDays; }
|
|
4187 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4188 public static Double? ToNullableDouble(Decimal p) { return checked((Double?)p); }
|
|
4189 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4190 public static Double? ToNullableDouble(Double p) { return p; }
|
|
4191 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4192 public static Double? ToNullableDouble(Int16 p) { return p; }
|
|
4193 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4194 public static Double? ToNullableDouble(Int32 p) { return p; }
|
|
4195 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4196 public static Double? ToNullableDouble(Int64 p) { return p; }
|
|
4197 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4198 [CLSCompliant(false)]
|
|
4199 public static Double? ToNullableDouble(SByte p) { return p; }
|
|
4200 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4201 public static Double? ToNullableDouble(Single p) { return p; }
|
|
4202 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4203 public static Double? ToNullableDouble(String p) { return p == null? (Double?)null : Double.Parse(p); }
|
|
4204 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4205 public static Double? ToNullableDouble(TimeSpan p) { return p.TotalDays; }
|
|
4206 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4207 [CLSCompliant(false)]
|
|
4208 public static Double? ToNullableDouble(UInt16 p) { return p; }
|
|
4209 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4210 [CLSCompliant(false)]
|
|
4211 public static Double? ToNullableDouble(UInt32 p) { return p; }
|
|
4212 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4213 [CLSCompliant(false)]
|
|
4214 public static Double? ToNullableDouble(UInt64 p) { return p; }
|
|
4215
|
|
4216 // Nullable Types
|
|
4217 //
|
|
4218 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4219 public static Double? ToNullableDouble(Boolean? p) { return p.HasValue && p.Value ? (Double?)1: (Double?)0; }
|
|
4220 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4221 public static Double? ToNullableDouble(Byte? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4222 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4223 public static Double? ToNullableDouble(Char? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4224 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4225 public static Double? ToNullableDouble(DateTime? p) { return p.HasValue ? (p.Value - DateTime.MinValue).TotalDays : (Double?)null; }
|
|
4226 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4227 public static Double? ToNullableDouble(DateTimeOffset? p) { return p.HasValue ? (p.Value - DateTimeOffset.MinValue).TotalDays : (Double?)null; }
|
|
4228 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4229 public static Double? ToNullableDouble(Decimal? p) { return p.HasValue ? checked((Double?)p.Value) : (Double?)null; }
|
|
4230 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4231 public static Double? ToNullableDouble(Int16? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4232 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4233 public static Double? ToNullableDouble(Int32? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4234 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4235 public static Double? ToNullableDouble(Int64? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4236 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4237 [CLSCompliant(false)]
|
|
4238 public static Double? ToNullableDouble(SByte? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4239 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4240 public static Double? ToNullableDouble(Single? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4241 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4242 public static Double? ToNullableDouble(TimeSpan? p) { return p.HasValue ? p.Value.TotalDays : (Double?)null; }
|
|
4243 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4244 [CLSCompliant(false)]
|
|
4245 public static Double? ToNullableDouble(UInt16? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4246 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4247 [CLSCompliant(false)]
|
|
4248 public static Double? ToNullableDouble(UInt32? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4249 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4250 [CLSCompliant(false)]
|
|
4251 public static Double? ToNullableDouble(UInt64? p) { return p.HasValue ? p.Value : (Double?)null; }
|
|
4252
|
|
4253 // Other Types
|
|
4254 //
|
|
4255 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4256 public static Double? ToNullableDouble(Binary p) { return p == null || p.Length == 0 ? (Double?)null : BitConverter.ToDouble(p.ToArray(), 0); }
|
|
4257 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4258 public static Double? ToNullableDouble(Byte[] p) { return p == null || p.Length == 0 ? (Double?)null : BitConverter.ToDouble(p, 0); }
|
|
4259
|
|
4260 #if !SILVERLIGHT
|
|
4261
|
|
4262 // Sql Types
|
|
4263 //
|
|
4264 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4265 public static Double? ToNullableDouble(SqlBoolean p) { return p.IsNull ? (Double?)null : ToDouble(p.Value); }
|
|
4266 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4267 public static Double? ToNullableDouble(SqlByte p) { return p.IsNull ? (Double?)null : p.Value; }
|
|
4268 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4269 public static Double? ToNullableDouble(SqlDateTime p) { return p.IsNull ? (Double?)null : ToDouble(p.Value); }
|
|
4270 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4271 public static Double? ToNullableDouble(SqlDecimal p) { return p.IsNull ? (Double?)null : ToDouble(p.Value); }
|
|
4272 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4273 public static Double? ToNullableDouble(SqlDouble p) { return p.IsNull ? (Double?)null : p.Value; }
|
|
4274 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4275 public static Double? ToNullableDouble(SqlInt16 p) { return p.IsNull ? (Double?)null : p.Value; }
|
|
4276 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4277 public static Double? ToNullableDouble(SqlInt32 p) { return p.IsNull ? (Double?)null : p.Value; }
|
|
4278 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4279 public static Double? ToNullableDouble(SqlInt64 p) { return p.IsNull ? (Double?)null : p.Value; }
|
|
4280 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4281 public static Double? ToNullableDouble(SqlMoney p) { return p.IsNull ? (Double?)null : ToDouble(p.Value); }
|
|
4282 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4283 public static Double? ToNullableDouble(SqlSingle p) { return p.IsNull ? (Double?)null : p.Value; }
|
|
4284 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4285 public static Double? ToNullableDouble(SqlString p) { return p.IsNull ? (Double?)null : ToDouble(p.Value); }
|
|
4286
|
|
4287 #endif
|
|
4288
|
|
4289 // From Object
|
|
4290 //
|
|
4291 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Double?</c> value.</summary>
|
|
4292 public static Double? ToNullableDouble(object p)
|
|
4293 {
|
|
4294 if (p == null) return null;
|
|
4295
|
|
4296 if (p is Double?) return (Double?)p;
|
|
4297
|
|
4298 var type = p.GetType();
|
|
4299
|
|
4300 // Primitive types
|
|
4301 //
|
|
4302 switch (Type.GetTypeCode(type))
|
|
4303 {
|
|
4304 case TypeCode.DBNull : return null;
|
|
4305 case TypeCode.DateTime : return ToNullableDouble((DateTime)p);
|
|
4306 case TypeCode.SByte : return ToNullableDouble((SByte) p);
|
|
4307 case TypeCode.Int16 : return ToNullableDouble((Int16) p);
|
|
4308 case TypeCode.Int32 : return ToNullableDouble((Int32) p);
|
|
4309 case TypeCode.Int64 : return ToNullableDouble((Int64) p);
|
|
4310 case TypeCode.Byte : return ToNullableDouble((Byte) p);
|
|
4311 case TypeCode.UInt16 : return ToNullableDouble((UInt16) p);
|
|
4312 case TypeCode.UInt32 : return ToNullableDouble((UInt32) p);
|
|
4313 case TypeCode.Char : return ToNullableDouble((Char) p);
|
|
4314 case TypeCode.UInt64 : return ToNullableDouble((UInt64) p);
|
|
4315 case TypeCode.Single : return ToNullableDouble((Single) p);
|
|
4316 case TypeCode.Double : return ToNullableDouble((Double) p);
|
|
4317 case TypeCode.Decimal : return ToNullableDouble((Decimal) p);
|
|
4318 case TypeCode.String : return ToNullableDouble((String) p);
|
|
4319 case TypeCode.Boolean : return ToNullableDouble((Boolean) p);
|
|
4320 }
|
|
4321
|
|
4322 // Simple Types
|
|
4323 //
|
|
4324 if (p is DateTimeOffset) return ToNullableDouble((DateTimeOffset) p);
|
|
4325 if (p is TimeSpan) return ToNullableDouble((TimeSpan) p);
|
|
4326
|
|
4327 // Nullable Types
|
|
4328 //
|
|
4329 if (type.IsGenericType)
|
|
4330 {
|
|
4331 if (p is Boolean?) return ToNullableDouble((Boolean?) p);
|
|
4332 if (p is Byte?) return ToNullableDouble((Byte?) p);
|
|
4333 if (p is Char?) return ToNullableDouble((Char?) p);
|
|
4334 if (p is DateTime?) return ToNullableDouble((DateTime?) p);
|
|
4335 if (p is DateTimeOffset?) return ToNullableDouble((DateTimeOffset?)p);
|
|
4336 if (p is Decimal?) return ToNullableDouble((Decimal?) p);
|
|
4337 if (p is Int16?) return ToNullableDouble((Int16?) p);
|
|
4338 if (p is Int32?) return ToNullableDouble((Int32?) p);
|
|
4339 if (p is Int64?) return ToNullableDouble((Int64?) p);
|
|
4340 if (p is SByte?) return ToNullableDouble((SByte?) p);
|
|
4341 if (p is Single?) return ToNullableDouble((Single?) p);
|
|
4342 if (p is TimeSpan?) return ToNullableDouble((TimeSpan?) p);
|
|
4343 if (p is UInt16?) return ToNullableDouble((UInt16?) p);
|
|
4344 if (p is UInt32?) return ToNullableDouble((UInt32?) p);
|
|
4345 if (p is UInt64?) return ToNullableDouble((UInt64?) p);
|
|
4346 }
|
|
4347
|
|
4348 // Other Types
|
|
4349 //
|
|
4350 if (p is Binary) return ToNullableDouble((Binary) p);
|
|
4351 if (p is Byte[]) return ToNullableDouble((Byte[]) p);
|
|
4352
|
|
4353 #if !SILVERLIGHT
|
|
4354
|
|
4355 // Sql Types
|
|
4356 //
|
|
4357 if (p is INullable)
|
|
4358 {
|
|
4359 if (p is SqlBoolean) return ToNullableDouble((SqlBoolean) p);
|
|
4360 if (p is SqlByte) return ToNullableDouble((SqlByte) p);
|
|
4361 if (p is SqlDateTime) return ToNullableDouble((SqlDateTime) p);
|
|
4362 if (p is SqlDecimal) return ToNullableDouble((SqlDecimal) p);
|
|
4363 if (p is SqlDouble) return ToNullableDouble((SqlDouble) p);
|
|
4364 if (p is SqlInt16) return ToNullableDouble((SqlInt16) p);
|
|
4365 if (p is SqlInt32) return ToNullableDouble((SqlInt32) p);
|
|
4366 if (p is SqlInt64) return ToNullableDouble((SqlInt64) p);
|
|
4367 if (p is SqlMoney) return ToNullableDouble((SqlMoney) p);
|
|
4368 if (p is SqlSingle) return ToNullableDouble((SqlSingle) p);
|
|
4369 if (p is SqlString) return ToNullableDouble((SqlString) p);
|
|
4370 }
|
|
4371
|
|
4372 #endif
|
|
4373
|
|
4374 throw CreateInvalidCastException(p.GetType(), typeof(Double?));
|
|
4375 }
|
|
4376
|
|
4377 #endregion
|
|
4378
|
|
4379 #region Guid?
|
|
4380
|
|
4381 // Simple Types
|
|
4382 //
|
|
4383 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4384 public static Guid? ToNullableGuid(Guid p) { return p; }
|
|
4385 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4386 public static Guid? ToNullableGuid(String p) { return p == null ? (Guid?)null : new Guid(p); }
|
|
4387
|
|
4388 // Other Types
|
|
4389 //
|
|
4390 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4391 public static Guid? ToNullableGuid(Binary p) { return p == null ? (Guid?)null : new Guid(p.ToArray()); }
|
|
4392 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4393 public static Guid? ToNullableGuid(Byte[] p) { return p == null ? (Guid?)null : new Guid(p); }
|
|
4394 /// <summary>Converts the value from <c>Type</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4395 public static Guid? ToNullableGuid(Type p) { return p == null ? (Guid?)null : p.GUID; }
|
|
4396
|
|
4397 #if !SILVERLIGHT
|
|
4398
|
|
4399 // Sql Types
|
|
4400 //
|
|
4401 /// <summary>Converts the value from <c>SqlBinary</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4402 public static Guid? ToNullableGuid(SqlBinary p) { return p.IsNull ? (Guid?)null : p.ToSqlGuid().Value; }
|
|
4403 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4404 public static Guid? ToNullableGuid(SqlGuid p) { return p.IsNull ? (Guid?)null : p.Value; }
|
|
4405 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4406 public static Guid? ToNullableGuid(SqlString p) { return p.IsNull ? (Guid?)null : new Guid(p.Value); }
|
|
4407
|
|
4408 #endif
|
|
4409
|
|
4410 // From Object
|
|
4411 //
|
|
4412 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Guid?</c> value.</summary>
|
|
4413 public static Guid? ToNullableGuid(object p)
|
|
4414 {
|
|
4415 if (p == null) return null;
|
|
4416
|
|
4417 if (p is Guid?) return (Guid?)p;
|
|
4418
|
|
4419 var type = p.GetType();
|
|
4420
|
|
4421 // Primitive types
|
|
4422 //
|
|
4423 switch (Type.GetTypeCode(type))
|
|
4424 {
|
|
4425 case TypeCode.DBNull : return null;
|
|
4426 case TypeCode.String : return ToNullableGuid((String)p);
|
|
4427 }
|
|
4428
|
|
4429 // Simple Types
|
|
4430 //
|
|
4431 if (p is Guid) return ToNullableGuid((Guid) p);
|
|
4432
|
|
4433 // Other Types
|
|
4434 //
|
|
4435 if (p is Binary) return ToNullableGuid((Binary) p);
|
|
4436 if (p is Byte[]) return ToNullableGuid((Byte[]) p);
|
|
4437 if (p is Type) return ToNullableGuid((Type) p);
|
|
4438
|
|
4439 #if !SILVERLIGHT
|
|
4440
|
|
4441 // Sql Types
|
|
4442 //
|
|
4443 if (p is INullable)
|
|
4444 {
|
|
4445 if (p is SqlBinary) return ToNullableGuid((SqlBinary)p);
|
|
4446 if (p is SqlGuid) return ToNullableGuid((SqlGuid) p);
|
|
4447 if (p is SqlString) return ToNullableGuid((SqlString)p);
|
|
4448 }
|
|
4449
|
|
4450 #endif
|
|
4451
|
|
4452 throw CreateInvalidCastException(p.GetType(), typeof(Guid?));
|
|
4453 }
|
|
4454
|
|
4455 #endregion
|
|
4456
|
|
4457 #region Int16?
|
|
4458
|
|
4459 // Simple Types
|
|
4460 //
|
|
4461 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4462 public static Int16? ToNullableInt16(Boolean p) { return p ? (Int16?)1 : (Int16?)0; }
|
|
4463 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4464 public static Int16? ToNullableInt16(Byte p) { return p; }
|
|
4465 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4466 public static Int16? ToNullableInt16(Char p) { return checked((Int16?)p); }
|
|
4467 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4468 public static Int16? ToNullableInt16(Decimal p) { return checked((Int16?)p); }
|
|
4469 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4470 public static Int16? ToNullableInt16(Double p) { return checked((Int16?)p); }
|
|
4471 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4472 public static Int16? ToNullableInt16(Int16 p) { return p; }
|
|
4473 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4474 public static Int16? ToNullableInt16(Int32 p) { return checked((Int16?)p); }
|
|
4475 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4476 public static Int16? ToNullableInt16(Int64 p) { return checked((Int16?)p); }
|
|
4477 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4478 [CLSCompliant(false)]
|
|
4479 public static Int16? ToNullableInt16(SByte p) { return p; }
|
|
4480 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4481 public static Int16? ToNullableInt16(Single p) { return checked((Int16?)p); }
|
|
4482 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4483 public static Int16? ToNullableInt16(String p) { return p == null? (Int16?)null : Int16.Parse(p); }
|
|
4484 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4485 [CLSCompliant(false)]
|
|
4486 public static Int16? ToNullableInt16(UInt16 p) { return checked((Int16?)p); }
|
|
4487 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4488 [CLSCompliant(false)]
|
|
4489 public static Int16? ToNullableInt16(UInt32 p) { return checked((Int16?)p); }
|
|
4490 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4491 [CLSCompliant(false)]
|
|
4492 public static Int16? ToNullableInt16(UInt64 p) { return checked((Int16?)p); }
|
|
4493
|
|
4494 // Nullable Types
|
|
4495 //
|
|
4496 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4497 public static Int16? ToNullableInt16(Boolean? p) { return p.HasValue && p.Value ? (Int16?)1: (Int16?)0; }
|
|
4498 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4499 public static Int16? ToNullableInt16(Byte? p) { return p.HasValue ? p.Value : (Int16?)null; }
|
|
4500 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4501 public static Int16? ToNullableInt16(Char? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4502 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4503 public static Int16? ToNullableInt16(Decimal? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4504 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4505 public static Int16? ToNullableInt16(Double? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4506 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4507 public static Int16? ToNullableInt16(Int32? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4508 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4509 public static Int16? ToNullableInt16(Int64? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4510 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4511 [CLSCompliant(false)]
|
|
4512 public static Int16? ToNullableInt16(SByte? p) { return p.HasValue ? p.Value : (Int16?)null; }
|
|
4513 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4514 public static Int16? ToNullableInt16(Single? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4515 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4516 [CLSCompliant(false)]
|
|
4517 public static Int16? ToNullableInt16(UInt16? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4518 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4519 [CLSCompliant(false)]
|
|
4520 public static Int16? ToNullableInt16(UInt32? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4521 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4522 [CLSCompliant(false)]
|
|
4523 public static Int16? ToNullableInt16(UInt64? p) { return p.HasValue ? checked((Int16?)p.Value) : (Int16?)null; }
|
|
4524
|
|
4525 // Other Types
|
|
4526 //
|
|
4527 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4528 public static Int16? ToNullableInt16(Binary p) { return p == null || p.Length == 0 ? (Int16?)null : BitConverter.ToInt16(p.ToArray(), 0); }
|
|
4529 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4530 public static Int16? ToNullableInt16(Byte[] p) { return p == null || p.Length == 0 ? (Int16?)null : BitConverter.ToInt16(p, 0); }
|
|
4531
|
|
4532 #if !SILVERLIGHT
|
|
4533
|
|
4534 // Sql Types
|
|
4535 //
|
|
4536 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4537 public static Int16? ToNullableInt16(SqlBoolean p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4538 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4539 public static Int16? ToNullableInt16(SqlByte p) { return p.IsNull ? (Int16?)null : p.Value; }
|
|
4540 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4541 public static Int16? ToNullableInt16(SqlDecimal p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4542 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4543 public static Int16? ToNullableInt16(SqlDouble p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4544 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4545 public static Int16? ToNullableInt16(SqlInt16 p) { return p.IsNull ? (Int16?)null : p.Value; }
|
|
4546 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4547 public static Int16? ToNullableInt16(SqlInt32 p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4548 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4549 public static Int16? ToNullableInt16(SqlInt64 p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4550 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4551 public static Int16? ToNullableInt16(SqlMoney p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4552 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4553 public static Int16? ToNullableInt16(SqlSingle p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4554 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4555 public static Int16? ToNullableInt16(SqlString p) { return p.IsNull ? (Int16?)null : ToInt16(p.Value); }
|
|
4556
|
|
4557 #endif
|
|
4558
|
|
4559 // From Object
|
|
4560 //
|
|
4561 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Int16?</c> value.</summary>
|
|
4562 public static Int16? ToNullableInt16(object p)
|
|
4563 {
|
|
4564 if (p == null) return null;
|
|
4565
|
|
4566 if (p is Int16?) return (Int16?)p;
|
|
4567
|
|
4568 var type = p.GetType();
|
|
4569
|
|
4570 // Primitive types
|
|
4571 //
|
|
4572 switch (Type.GetTypeCode(type))
|
|
4573 {
|
|
4574 case TypeCode.DBNull : return null;
|
|
4575 case TypeCode.SByte : return ToNullableInt16((SByte) p);
|
|
4576 case TypeCode.Int16 : return ToNullableInt16((Int16) p);
|
|
4577 case TypeCode.Byte : return ToNullableInt16((Byte) p);
|
|
4578 case TypeCode.Int32 : return ToNullableInt16((Int32) p);
|
|
4579 case TypeCode.Int64 : return ToNullableInt16((Int64) p);
|
|
4580 case TypeCode.UInt16 : return ToNullableInt16((UInt16) p);
|
|
4581 case TypeCode.UInt32 : return ToNullableInt16((UInt32) p);
|
|
4582 case TypeCode.UInt64 : return ToNullableInt16((UInt64) p);
|
|
4583 case TypeCode.Single : return ToNullableInt16((Single) p);
|
|
4584 case TypeCode.Double : return ToNullableInt16((Double) p);
|
|
4585 case TypeCode.Decimal : return ToNullableInt16((Decimal)p);
|
|
4586 case TypeCode.Char : return ToNullableInt16((Char) p);
|
|
4587 case TypeCode.String : return ToNullableInt16((String) p);
|
|
4588 case TypeCode.Boolean : return ToNullableInt16((Boolean)p);
|
|
4589 }
|
|
4590
|
|
4591 // Nullable Types
|
|
4592 //
|
|
4593 if (type.IsGenericType)
|
|
4594 {
|
|
4595 if (p is Boolean?) return ToNullableInt16((Boolean?) p);
|
|
4596 if (p is Byte?) return ToNullableInt16((Byte?) p);
|
|
4597 if (p is Char?) return ToNullableInt16((Char?) p);
|
|
4598 if (p is Decimal?) return ToNullableInt16((Decimal?) p);
|
|
4599 if (p is Double?) return ToNullableInt16((Double?) p);
|
|
4600 if (p is Int32?) return ToNullableInt16((Int32?) p);
|
|
4601 if (p is Int64?) return ToNullableInt16((Int64?) p);
|
|
4602 if (p is SByte?) return ToNullableInt16((SByte?) p);
|
|
4603 if (p is Single?) return ToNullableInt16((Single?) p);
|
|
4604 if (p is UInt16?) return ToNullableInt16((UInt16?) p);
|
|
4605 if (p is UInt32?) return ToNullableInt16((UInt32?) p);
|
|
4606 if (p is UInt64?) return ToNullableInt16((UInt64?) p);
|
|
4607 }
|
|
4608
|
|
4609 // Other Types
|
|
4610 //
|
|
4611 if (p is Binary) return ToNullableInt16((Binary) p);
|
|
4612 if (p is Byte[]) return ToNullableInt16((Byte[]) p);
|
|
4613
|
|
4614 #if !SILVERLIGHT
|
|
4615
|
|
4616 // Sql Types
|
|
4617 //
|
|
4618 if (p is INullable)
|
|
4619 {
|
|
4620 if (p is SqlBoolean) return ToNullableInt16((SqlBoolean)p);
|
|
4621 if (p is SqlByte) return ToNullableInt16((SqlByte) p);
|
|
4622 if (p is SqlDecimal) return ToNullableInt16((SqlDecimal)p);
|
|
4623 if (p is SqlDouble) return ToNullableInt16((SqlDouble) p);
|
|
4624 if (p is SqlInt16) return ToNullableInt16((SqlInt16) p);
|
|
4625 if (p is SqlInt32) return ToNullableInt16((SqlInt32) p);
|
|
4626 if (p is SqlInt64) return ToNullableInt16((SqlInt64) p);
|
|
4627 if (p is SqlMoney) return ToNullableInt16((SqlMoney) p);
|
|
4628 if (p is SqlSingle) return ToNullableInt16((SqlSingle) p);
|
|
4629 if (p is SqlString) return ToNullableInt16((SqlString) p);
|
|
4630 }
|
|
4631
|
|
4632 #endif
|
|
4633
|
|
4634 throw CreateInvalidCastException(p.GetType(), typeof(Int16?));
|
|
4635 }
|
|
4636
|
|
4637 #endregion
|
|
4638
|
|
4639 #region Int32?
|
|
4640
|
|
4641 // Simple Types
|
|
4642 //
|
|
4643 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4644 public static Int32? ToNullableInt32(Boolean p) { return p ? (Int32?)1 : (Int32?)0; }
|
|
4645 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4646 public static Int32? ToNullableInt32(Byte p) { return p; }
|
|
4647 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4648 public static Int32? ToNullableInt32(Char p) { return p; }
|
|
4649 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4650 public static Int32? ToNullableInt32(Decimal p) { return checked((Int32?)p); }
|
|
4651 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4652 public static Int32? ToNullableInt32(Double p) { return checked((Int32?)p); }
|
|
4653 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4654 public static Int32? ToNullableInt32(Int16 p) { return p; }
|
|
4655 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4656 public static Int32? ToNullableInt32(Int32 p) { return p; }
|
|
4657 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4658 public static Int32? ToNullableInt32(Int64 p) { return checked((Int32?)p); }
|
|
4659 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4660 [CLSCompliant(false)]
|
|
4661 public static Int32? ToNullableInt32(SByte p) { return p; }
|
|
4662 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4663 public static Int32? ToNullableInt32(Single p) { return checked((Int32?)p); }
|
|
4664 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4665 public static Int32? ToNullableInt32(String p) { return p == null? (Int32?)null : Int32.Parse(p); }
|
|
4666 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4667 [CLSCompliant(false)]
|
|
4668 public static Int32? ToNullableInt32(UInt16 p) { return p; }
|
|
4669 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4670 [CLSCompliant(false)]
|
|
4671 public static Int32? ToNullableInt32(UInt32 p) { return checked((Int32?)p); }
|
|
4672 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4673 [CLSCompliant(false)]
|
|
4674 public static Int32? ToNullableInt32(UInt64 p) { return checked((Int32?)p); }
|
|
4675
|
|
4676 // Nullable Types
|
|
4677 //
|
|
4678 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4679 public static Int32? ToNullableInt32(Boolean? p) { return p.HasValue && p.Value ? (Int32?)1: (Int32?)0; }
|
|
4680 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4681 public static Int32? ToNullableInt32(Byte? p) { return p.HasValue ? p.Value : (Int32?)null; }
|
|
4682 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4683 public static Int32? ToNullableInt32(Char? p) { return p.HasValue ? p.Value : (Int32?)null; }
|
|
4684 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4685 public static Int32? ToNullableInt32(Decimal? p) { return p.HasValue ? checked((Int32?)p.Value) : (Int32?)null; }
|
|
4686 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4687 public static Int32? ToNullableInt32(Double? p) { return p.HasValue ? checked((Int32?)p.Value) : (Int32?)null; }
|
|
4688 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4689 public static Int32? ToNullableInt32(Int16? p) { return p.HasValue ? p.Value : (Int32?)null; }
|
|
4690 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4691 public static Int32? ToNullableInt32(Int64? p) { return p.HasValue ? checked((Int32?)p.Value) : (Int32?)null; }
|
|
4692 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4693 [CLSCompliant(false)]
|
|
4694 public static Int32? ToNullableInt32(SByte? p) { return p.HasValue ? p.Value : (Int32?)null; }
|
|
4695 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4696 public static Int32? ToNullableInt32(Single? p) { return p.HasValue ? checked((Int32?)p.Value) : (Int32?)null; }
|
|
4697 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4698 [CLSCompliant(false)]
|
|
4699 public static Int32? ToNullableInt32(UInt16? p) { return p.HasValue ? p.Value : (Int32?)null; }
|
|
4700 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4701 [CLSCompliant(false)]
|
|
4702 public static Int32? ToNullableInt32(UInt32? p) { return p.HasValue ? checked((Int32?)p.Value) : (Int32?)null; }
|
|
4703 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4704 [CLSCompliant(false)]
|
|
4705 public static Int32? ToNullableInt32(UInt64? p) { return p.HasValue ? checked((Int32?)p.Value) : (Int32?)null; }
|
|
4706
|
|
4707 // Other Types
|
|
4708 //
|
|
4709 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4710 public static Int32? ToNullableInt32(Binary p) { return p == null || p.Length == 0 ? (Int32?)null : BitConverter.ToInt32(p.ToArray(), 0); }
|
|
4711 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4712 public static Int32? ToNullableInt32(Byte[] p) { return p == null || p.Length == 0 ? (Int32?)null : BitConverter.ToInt32(p, 0); }
|
|
4713
|
|
4714 #if !SILVERLIGHT
|
|
4715
|
|
4716 // Sql Types
|
|
4717 //
|
|
4718 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4719 public static Int32? ToNullableInt32(SqlBoolean p) { return p.IsNull ? (Int32?)null : ToInt32(p.Value); }
|
|
4720 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4721 public static Int32? ToNullableInt32(SqlByte p) { return p.IsNull ? (Int32?)null : p.Value; }
|
|
4722 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4723 public static Int32? ToNullableInt32(SqlDecimal p) { return p.IsNull ? (Int32?)null : ToInt32(p.Value); }
|
|
4724 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4725 public static Int32? ToNullableInt32(SqlDouble p) { return p.IsNull ? (Int32?)null : ToInt32(p.Value); }
|
|
4726 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4727 public static Int32? ToNullableInt32(SqlInt16 p) { return p.IsNull ? (Int32?)null : p.Value; }
|
|
4728 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4729 public static Int32? ToNullableInt32(SqlInt32 p) { return p.IsNull ? (Int32?)null : p.Value; }
|
|
4730 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4731 public static Int32? ToNullableInt32(SqlInt64 p) { return p.IsNull ? (Int32?)null : ToInt32(p.Value); }
|
|
4732 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4733 public static Int32? ToNullableInt32(SqlMoney p) { return p.IsNull ? (Int32?)null : ToInt32(p.Value); }
|
|
4734 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4735 public static Int32? ToNullableInt32(SqlSingle p) { return p.IsNull ? (Int32?)null : ToInt32(p.Value); }
|
|
4736 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4737 public static Int32? ToNullableInt32(SqlString p) { return p.IsNull ? (Int32?)null : ToInt32(p.Value); }
|
|
4738
|
|
4739 #endif
|
|
4740
|
|
4741 // From Object
|
|
4742 //
|
|
4743 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Int32?</c> value.</summary>
|
|
4744 public static Int32? ToNullableInt32(object p)
|
|
4745 {
|
|
4746 if (p == null) return null;
|
|
4747
|
|
4748 if (p is Int32?) return (Int32?)p;
|
|
4749
|
|
4750 var type = p.GetType();
|
|
4751
|
|
4752 // Primitive types
|
|
4753 //
|
|
4754 switch (Type.GetTypeCode(type))
|
|
4755 {
|
|
4756 case TypeCode.DBNull : return null;
|
|
4757 case TypeCode.SByte : return ToNullableInt32((SByte) p);
|
|
4758 case TypeCode.Int16 : return ToNullableInt32((Int16) p);
|
|
4759 case TypeCode.Int32 : return ToNullableInt32((Int32) p);
|
|
4760 case TypeCode.Byte : return ToNullableInt32((Byte) p);
|
|
4761 case TypeCode.UInt16 : return ToNullableInt32((UInt16) p);
|
|
4762 case TypeCode.Char : return ToNullableInt32((Char) p);
|
|
4763 case TypeCode.Int64 : return ToNullableInt32((Int64) p);
|
|
4764 case TypeCode.UInt32 : return ToNullableInt32((UInt32) p);
|
|
4765 case TypeCode.UInt64 : return ToNullableInt32((UInt64) p);
|
|
4766 case TypeCode.Single : return ToNullableInt32((Single) p);
|
|
4767 case TypeCode.Double : return ToNullableInt32((Double) p);
|
|
4768 case TypeCode.Decimal : return ToNullableInt32((Decimal)p);
|
|
4769 case TypeCode.String : return ToNullableInt32((String) p);
|
|
4770 case TypeCode.Boolean : return ToNullableInt32((Boolean)p);
|
|
4771 }
|
|
4772
|
|
4773 // Nullable Types
|
|
4774 //
|
|
4775 if (type.IsGenericType)
|
|
4776 {
|
|
4777 if (p is Boolean?) return ToNullableInt32((Boolean?) p);
|
|
4778 if (p is Byte?) return ToNullableInt32((Byte?) p);
|
|
4779 if (p is Char?) return ToNullableInt32((Char?) p);
|
|
4780 if (p is Decimal?) return ToNullableInt32((Decimal?) p);
|
|
4781 if (p is Double?) return ToNullableInt32((Double?) p);
|
|
4782 if (p is Int16?) return ToNullableInt32((Int16?) p);
|
|
4783 if (p is Int64?) return ToNullableInt32((Int64?) p);
|
|
4784 if (p is SByte?) return ToNullableInt32((SByte?) p);
|
|
4785 if (p is Single?) return ToNullableInt32((Single?) p);
|
|
4786 if (p is UInt16?) return ToNullableInt32((UInt16?) p);
|
|
4787 if (p is UInt32?) return ToNullableInt32((UInt32?) p);
|
|
4788 if (p is UInt64?) return ToNullableInt32((UInt64?) p);
|
|
4789 }
|
|
4790
|
|
4791 // Other Types
|
|
4792 //
|
|
4793 if (p is Binary) return ToNullableInt32((Binary) p);
|
|
4794 if (p is Byte[]) return ToNullableInt32((Byte[]) p);
|
|
4795
|
|
4796 #if !SILVERLIGHT
|
|
4797
|
|
4798 // Sql Types
|
|
4799 //
|
|
4800 if (p is INullable)
|
|
4801 {
|
|
4802 if (p is SqlBoolean) return ToNullableInt32((SqlBoolean)p);
|
|
4803 if (p is SqlByte) return ToNullableInt32((SqlByte) p);
|
|
4804 if (p is SqlDecimal) return ToNullableInt32((SqlDecimal)p);
|
|
4805 if (p is SqlDouble) return ToNullableInt32((SqlDouble) p);
|
|
4806 if (p is SqlInt16) return ToNullableInt32((SqlInt16) p);
|
|
4807 if (p is SqlInt32) return ToNullableInt32((SqlInt32) p);
|
|
4808 if (p is SqlInt64) return ToNullableInt32((SqlInt64) p);
|
|
4809 if (p is SqlMoney) return ToNullableInt32((SqlMoney) p);
|
|
4810 if (p is SqlSingle) return ToNullableInt32((SqlSingle) p);
|
|
4811 if (p is SqlString) return ToNullableInt32((SqlString) p);
|
|
4812 }
|
|
4813
|
|
4814 #endif
|
|
4815
|
|
4816 throw CreateInvalidCastException(p.GetType(), typeof(Int32?));
|
|
4817 }
|
|
4818
|
|
4819 #endregion
|
|
4820
|
|
4821 #region Int64?
|
|
4822
|
|
4823 // Simple Types
|
|
4824 //
|
|
4825 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4826 public static Int64? ToNullableInt64(Boolean p) { return p ? (Int64?)1 : (Int64?)0; }
|
|
4827 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4828 public static Int64? ToNullableInt64(Byte p) { return p; }
|
|
4829 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4830 public static Int64? ToNullableInt64(Char p) { return p; }
|
|
4831 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4832 public static Int64? ToNullableInt64(DateTime p) { return (p - DateTime.MinValue).Ticks; }
|
|
4833 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4834 public static Int64? ToNullableInt64(DateTimeOffset p) { return (p - DateTime.MinValue).Ticks; }
|
|
4835 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4836 public static Int64? ToNullableInt64(Decimal p) { return checked((Int64?)p); }
|
|
4837 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4838 public static Int64? ToNullableInt64(Double p) { return checked((Int64?)p); }
|
|
4839 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4840 public static Int64? ToNullableInt64(Int16 p) { return p; }
|
|
4841 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4842 public static Int64? ToNullableInt64(Int32 p) { return p; }
|
|
4843 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4844 public static Int64? ToNullableInt64(Int64 p) { return p; }
|
|
4845 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4846 [CLSCompliant(false)]
|
|
4847 public static Int64? ToNullableInt64(SByte p) { return p; }
|
|
4848 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4849 public static Int64? ToNullableInt64(Single p) { return checked((Int64?)p); }
|
|
4850 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4851 public static Int64? ToNullableInt64(String p) { return p == null? (Int64?)null : Int64.Parse(p); }
|
|
4852 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4853 public static Int64? ToNullableInt64(TimeSpan p) { return p.Ticks; }
|
|
4854 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4855 [CLSCompliant(false)]
|
|
4856 public static Int64? ToNullableInt64(UInt16 p) { return p; }
|
|
4857 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4858 [CLSCompliant(false)]
|
|
4859 public static Int64? ToNullableInt64(UInt32 p) { return p; }
|
|
4860 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4861 [CLSCompliant(false)]
|
|
4862 public static Int64? ToNullableInt64(UInt64 p) { return checked((Int64?)p); }
|
|
4863
|
|
4864 // Nullable Types
|
|
4865 //
|
|
4866 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4867 public static Int64? ToNullableInt64(Boolean? p) { return p.HasValue && p.Value ? (Int64?)1: (Int64?)0; }
|
|
4868 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4869 public static Int64? ToNullableInt64(Byte? p) { return p.HasValue ? p.Value : (Int64?)null; }
|
|
4870 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4871 public static Int64? ToNullableInt64(Char? p) { return p.HasValue ? p.Value : (Int64?)null; }
|
|
4872 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4873 public static Int64? ToNullableInt64(DateTime? p) { return p.HasValue ? (p.Value - DateTime.MinValue).Ticks : 0; }
|
|
4874 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4875 public static Int64? ToNullableInt64(DateTimeOffset? p) { return p.HasValue ? (p.Value - DateTime.MinValue).Ticks : 0; }
|
|
4876 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4877 public static Int64? ToNullableInt64(Decimal? p) { return p.HasValue ? checked((Int64?)p.Value) : (Int64?)null; }
|
|
4878 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4879 public static Int64? ToNullableInt64(Double? p) { return p.HasValue ? checked((Int64?)p.Value) : (Int64?)null; }
|
|
4880 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4881 public static Int64? ToNullableInt64(Int16? p) { return p.HasValue ? p.Value : (Int64?)null; }
|
|
4882 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4883 public static Int64? ToNullableInt64(Int32? p) { return p.HasValue ? p.Value : (Int64?)null; }
|
|
4884 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4885 [CLSCompliant(false)]
|
|
4886 public static Int64? ToNullableInt64(SByte? p) { return p.HasValue ? p.Value : (Int64?)null; }
|
|
4887 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4888 public static Int64? ToNullableInt64(Single? p) { return p.HasValue ? checked((Int64?)p.Value) : (Int64?)null; }
|
|
4889 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4890 public static Int64? ToNullableInt64(TimeSpan? p) { return p.HasValue ? p.Value.Ticks : 0; }
|
|
4891 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4892 [CLSCompliant(false)]
|
|
4893 public static Int64? ToNullableInt64(UInt16? p) { return p.HasValue ? p.Value : (Int64?)null; }
|
|
4894 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4895 [CLSCompliant(false)]
|
|
4896 public static Int64? ToNullableInt64(UInt32? p) { return p.HasValue ? p.Value : (Int64?)null; }
|
|
4897 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4898 [CLSCompliant(false)]
|
|
4899 public static Int64? ToNullableInt64(UInt64? p) { return p.HasValue ? checked((Int64?)p.Value) : (Int64?)null; }
|
|
4900
|
|
4901 // Other Types
|
|
4902 //
|
|
4903 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4904 public static Int64? ToNullableInt64(Binary p) { return p == null || p.Length == 0 ? (Int64?)null : BitConverter.ToInt64(p.ToArray(), 0); }
|
|
4905 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4906 public static Int64? ToNullableInt64(Byte[] p) { return p == null || p.Length == 0 ? (Int64?)null : BitConverter.ToInt64(p, 0); }
|
|
4907
|
|
4908 #if !SILVERLIGHT
|
|
4909
|
|
4910 // Sql Types
|
|
4911 //
|
|
4912 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4913 public static Int64? ToNullableInt64(SqlBoolean p) { return p.IsNull ? (Int64?)null : ToInt64(p.Value); }
|
|
4914 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4915 public static Int64? ToNullableInt64(SqlByte p) { return p.IsNull ? (Int64?)null : p.Value; }
|
|
4916 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4917 public static Int64? ToNullableInt64(SqlDateTime p) { return p.IsNull ? (Int64?)null : ToInt64(p.Value); }
|
|
4918 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4919 public static Int64? ToNullableInt64(SqlDecimal p) { return p.IsNull ? (Int64?)null : ToInt64(p.Value); }
|
|
4920 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4921 public static Int64? ToNullableInt64(SqlDouble p) { return p.IsNull ? (Int64?)null : ToInt64(p.Value); }
|
|
4922 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4923 public static Int64? ToNullableInt64(SqlInt16 p) { return p.IsNull ? (Int64?)null : p.Value; }
|
|
4924 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4925 public static Int64? ToNullableInt64(SqlInt32 p) { return p.IsNull ? (Int64?)null : p.Value; }
|
|
4926 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4927 public static Int64? ToNullableInt64(SqlInt64 p) { return p.IsNull ? (Int64?)null : p.Value; }
|
|
4928 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4929 public static Int64? ToNullableInt64(SqlMoney p) { return p.IsNull ? (Int64?)null : ToInt64(p.Value); }
|
|
4930 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4931 public static Int64? ToNullableInt64(SqlSingle p) { return p.IsNull ? (Int64?)null : ToInt64(p.Value); }
|
|
4932 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4933 public static Int64? ToNullableInt64(SqlString p) { return p.IsNull ? (Int64?)null : ToInt64(p.Value); }
|
|
4934
|
|
4935 #endif
|
|
4936
|
|
4937 // From Object
|
|
4938 //
|
|
4939 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Int64?</c> value.</summary>
|
|
4940 public static Int64? ToNullableInt64(object p)
|
|
4941 {
|
|
4942 if (p == null) return null;
|
|
4943
|
|
4944 if (p is Int64?) return (Int64?)p;
|
|
4945
|
|
4946 var type = p.GetType();
|
|
4947
|
|
4948 // Primitive types
|
|
4949 //
|
|
4950 switch (Type.GetTypeCode(type))
|
|
4951 {
|
|
4952 case TypeCode.DBNull : return null;
|
|
4953 case TypeCode.DateTime : return ToNullableInt64((DateTime)p);
|
|
4954 case TypeCode.SByte : return ToNullableInt64((SByte) p);
|
|
4955 case TypeCode.Int16 : return ToNullableInt64((Int16) p);
|
|
4956 case TypeCode.Int32 : return ToNullableInt64((Int32) p);
|
|
4957 case TypeCode.Int64 : return ToNullableInt64((Int64) p);
|
|
4958 case TypeCode.Byte : return ToNullableInt64((Byte) p);
|
|
4959 case TypeCode.UInt16 : return ToNullableInt64((UInt16) p);
|
|
4960 case TypeCode.UInt32 : return ToNullableInt64((UInt32) p);
|
|
4961 case TypeCode.Char : return ToNullableInt64((Char) p);
|
|
4962 case TypeCode.UInt64 : return ToNullableInt64((UInt64) p);
|
|
4963 case TypeCode.Single : return ToNullableInt64((Single) p);
|
|
4964 case TypeCode.Double : return ToNullableInt64((Double) p);
|
|
4965 case TypeCode.Decimal : return ToNullableInt64((Decimal) p);
|
|
4966 case TypeCode.String : return ToNullableInt64((String) p);
|
|
4967 case TypeCode.Boolean : return ToNullableInt64((Boolean) p);
|
|
4968 }
|
|
4969
|
|
4970 // Simple Types
|
|
4971 //
|
|
4972 if (p is DateTimeOffset) return ToNullableInt64((DateTimeOffset) p);
|
|
4973 if (p is TimeSpan) return ToNullableInt64((TimeSpan) p);
|
|
4974
|
|
4975 // Nullable Types
|
|
4976 //
|
|
4977 if (type.IsGenericType)
|
|
4978 {
|
|
4979 if (p is Boolean?) return ToNullableInt64((Boolean?) p);
|
|
4980 if (p is Byte?) return ToNullableInt64((Byte?) p);
|
|
4981 if (p is Char?) return ToNullableInt64((Char?) p);
|
|
4982 if (p is DateTime?) return ToNullableInt64((DateTime?) p);
|
|
4983 if (p is DateTimeOffset?) return ToNullableInt64((DateTimeOffset?)p);
|
|
4984 if (p is Decimal?) return ToNullableInt64((Decimal?) p);
|
|
4985 if (p is Double?) return ToNullableInt64((Double?) p);
|
|
4986 if (p is Int16?) return ToNullableInt64((Int16?) p);
|
|
4987 if (p is Int32?) return ToNullableInt64((Int32?) p);
|
|
4988 if (p is SByte?) return ToNullableInt64((SByte?) p);
|
|
4989 if (p is Single?) return ToNullableInt64((Single?) p);
|
|
4990 if (p is TimeSpan?) return ToNullableInt64((TimeSpan?) p);
|
|
4991 if (p is UInt16?) return ToNullableInt64((UInt16?) p);
|
|
4992 if (p is UInt32?) return ToNullableInt64((UInt32?) p);
|
|
4993 if (p is UInt64?) return ToNullableInt64((UInt64?) p);
|
|
4994 }
|
|
4995
|
|
4996 // Other Types
|
|
4997 //
|
|
4998 if (p is Binary) return ToNullableInt64((Binary) p);
|
|
4999 if (p is Byte[]) return ToNullableInt64((Byte[]) p);
|
|
5000
|
|
5001 #if !SILVERLIGHT
|
|
5002
|
|
5003 // Sql Types
|
|
5004 //
|
|
5005 if (p is INullable)
|
|
5006 {
|
|
5007 if (p is SqlBoolean) return ToNullableInt64((SqlBoolean) p);
|
|
5008 if (p is SqlByte) return ToNullableInt64((SqlByte) p);
|
|
5009 if (p is SqlDateTime) return ToNullableInt64((SqlDateTime) p);
|
|
5010 if (p is SqlDecimal) return ToNullableInt64((SqlDecimal) p);
|
|
5011 if (p is SqlDouble) return ToNullableInt64((SqlDouble) p);
|
|
5012 if (p is SqlInt16) return ToNullableInt64((SqlInt16) p);
|
|
5013 if (p is SqlInt32) return ToNullableInt64((SqlInt32) p);
|
|
5014 if (p is SqlInt64) return ToNullableInt64((SqlInt64) p);
|
|
5015 if (p is SqlMoney) return ToNullableInt64((SqlMoney) p);
|
|
5016 if (p is SqlSingle) return ToNullableInt64((SqlSingle) p);
|
|
5017 if (p is SqlString) return ToNullableInt64((SqlString) p);
|
|
5018 }
|
|
5019
|
|
5020 #endif
|
|
5021
|
|
5022 throw CreateInvalidCastException(p.GetType(), typeof(Int64?));
|
|
5023 }
|
|
5024
|
|
5025 #endregion
|
|
5026
|
|
5027 #region SByte?
|
|
5028
|
|
5029 // Simple Types
|
|
5030 //
|
|
5031 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5032 [CLSCompliant(false)]
|
|
5033 public static SByte? ToNullableSByte(Boolean p) { return p ? (SByte?)1 : (SByte?)0; }
|
|
5034 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5035 [CLSCompliant(false)]
|
|
5036 public static SByte? ToNullableSByte(Byte p) { return checked((SByte?)p); }
|
|
5037 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5038 [CLSCompliant(false)]
|
|
5039 public static SByte? ToNullableSByte(Char p) { return checked((SByte?)p); }
|
|
5040 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5041 [CLSCompliant(false)]
|
|
5042 public static SByte? ToNullableSByte(Decimal p) { return checked((SByte?)p); }
|
|
5043 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5044 [CLSCompliant(false)]
|
|
5045 public static SByte? ToNullableSByte(Double p) { return checked((SByte?)p); }
|
|
5046 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5047 [CLSCompliant(false)]
|
|
5048 public static SByte? ToNullableSByte(Int16 p) { return checked((SByte?)p); }
|
|
5049 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5050 [CLSCompliant(false)]
|
|
5051 public static SByte? ToNullableSByte(Int32 p) { return checked((SByte?)p); }
|
|
5052 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5053 [CLSCompliant(false)]
|
|
5054 public static SByte? ToNullableSByte(Int64 p) { return checked((SByte?)p); }
|
|
5055 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5056 [CLSCompliant(false)]
|
|
5057 public static SByte? ToNullableSByte(SByte p) { return p; }
|
|
5058 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5059 [CLSCompliant(false)]
|
|
5060 public static SByte? ToNullableSByte(Single p) { return checked((SByte?)p); }
|
|
5061 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5062 [CLSCompliant(false)]
|
|
5063 public static SByte? ToNullableSByte(String p) { return p == null? (SByte?)null : SByte.Parse(p); }
|
|
5064 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5065 [CLSCompliant(false)]
|
|
5066 public static SByte? ToNullableSByte(UInt16 p) { return checked((SByte?)p); }
|
|
5067 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5068 [CLSCompliant(false)]
|
|
5069 public static SByte? ToNullableSByte(UInt32 p) { return checked((SByte?)p); }
|
|
5070 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5071 [CLSCompliant(false)]
|
|
5072 public static SByte? ToNullableSByte(UInt64 p) { return checked((SByte?)p); }
|
|
5073
|
|
5074 // Nullable Types
|
|
5075 //
|
|
5076 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5077 [CLSCompliant(false)]
|
|
5078 public static SByte? ToNullableSByte(Boolean? p) { return p.HasValue && p.Value ? (SByte?)1: (SByte?)0; }
|
|
5079 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5080 [CLSCompliant(false)]
|
|
5081 public static SByte? ToNullableSByte(Byte? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5082 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5083 [CLSCompliant(false)]
|
|
5084 public static SByte? ToNullableSByte(Char? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5085 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5086 [CLSCompliant(false)]
|
|
5087 public static SByte? ToNullableSByte(Decimal? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5088 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5089 [CLSCompliant(false)]
|
|
5090 public static SByte? ToNullableSByte(Double? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5091 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5092 [CLSCompliant(false)]
|
|
5093 public static SByte? ToNullableSByte(Int16? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5094 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5095 [CLSCompliant(false)]
|
|
5096 public static SByte? ToNullableSByte(Int32? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5097 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5098 [CLSCompliant(false)]
|
|
5099 public static SByte? ToNullableSByte(Int64? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5100 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5101 [CLSCompliant(false)]
|
|
5102 public static SByte? ToNullableSByte(Single? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5103 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5104 [CLSCompliant(false)]
|
|
5105 public static SByte? ToNullableSByte(UInt16? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5106 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5107 [CLSCompliant(false)]
|
|
5108 public static SByte? ToNullableSByte(UInt32? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5109 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5110 [CLSCompliant(false)]
|
|
5111 public static SByte? ToNullableSByte(UInt64? p) { return p.HasValue ? checked((SByte?)p.Value) : (SByte?)null; }
|
|
5112
|
|
5113 // Other Types
|
|
5114 //
|
|
5115 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5116 [CLSCompliant(false)]
|
|
5117 public static SByte? ToNullableSByte(Binary p) { return p == null || p.Length == 0 ? (SByte?)null : checked((SByte?)p.ToArray()[0]); }
|
|
5118 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5119 [CLSCompliant(false)]
|
|
5120 public static SByte? ToNullableSByte(Byte[] p) { return p == null || p.Length == 0 ? (SByte?)null : checked((SByte?)p[0]); }
|
|
5121
|
|
5122 #if !SILVERLIGHT
|
|
5123
|
|
5124 // Sql Types
|
|
5125 //
|
|
5126 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5127 [CLSCompliant(false)]
|
|
5128 public static SByte? ToNullableSByte(SqlBoolean p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5129 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5130 [CLSCompliant(false)]
|
|
5131 public static SByte? ToNullableSByte(SqlByte p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5132 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5133 [CLSCompliant(false)]
|
|
5134 public static SByte? ToNullableSByte(SqlDecimal p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5135 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5136 [CLSCompliant(false)]
|
|
5137 public static SByte? ToNullableSByte(SqlDouble p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5138 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5139 [CLSCompliant(false)]
|
|
5140 public static SByte? ToNullableSByte(SqlInt16 p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5141 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5142 [CLSCompliant(false)]
|
|
5143 public static SByte? ToNullableSByte(SqlInt32 p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5144 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5145 [CLSCompliant(false)]
|
|
5146 public static SByte? ToNullableSByte(SqlInt64 p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5147 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5148 [CLSCompliant(false)]
|
|
5149 public static SByte? ToNullableSByte(SqlMoney p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5150 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5151 [CLSCompliant(false)]
|
|
5152 public static SByte? ToNullableSByte(SqlSingle p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5153 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5154 [CLSCompliant(false)]
|
|
5155 public static SByte? ToNullableSByte(SqlString p) { return p.IsNull ? (SByte?)null : ToSByte(p.Value); }
|
|
5156
|
|
5157 #endif
|
|
5158
|
|
5159 // From Object
|
|
5160 //
|
|
5161 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SByte?</c> value.</summary>
|
|
5162 [CLSCompliant(false)]
|
|
5163 public static SByte? ToNullableSByte(object p)
|
|
5164 {
|
|
5165 if (p == null) return null;
|
|
5166
|
|
5167 if (p is SByte?) return (SByte?)p;
|
|
5168
|
|
5169 var type = p.GetType();
|
|
5170
|
|
5171 // Primitive types
|
|
5172 //
|
|
5173 switch (Type.GetTypeCode(type))
|
|
5174 {
|
|
5175 case TypeCode.DBNull : return null;
|
|
5176 case TypeCode.SByte : return ToNullableSByte((SByte) p);
|
|
5177 case TypeCode.Int16 : return ToNullableSByte((Int16) p);
|
|
5178 case TypeCode.Int32 : return ToNullableSByte((Int32) p);
|
|
5179 case TypeCode.Int64 : return ToNullableSByte((Int64) p);
|
|
5180 case TypeCode.Byte : return ToNullableSByte((Byte) p);
|
|
5181 case TypeCode.UInt16 : return ToNullableSByte((UInt16) p);
|
|
5182 case TypeCode.UInt32 : return ToNullableSByte((UInt32) p);
|
|
5183 case TypeCode.UInt64 : return ToNullableSByte((UInt64) p);
|
|
5184 case TypeCode.Single : return ToNullableSByte((Single) p);
|
|
5185 case TypeCode.Double : return ToNullableSByte((Double) p);
|
|
5186 case TypeCode.Decimal : return ToNullableSByte((Decimal)p);
|
|
5187 case TypeCode.Char : return ToNullableSByte((Char) p);
|
|
5188 case TypeCode.String : return ToNullableSByte((String) p);
|
|
5189 case TypeCode.Boolean : return ToNullableSByte((Boolean)p);
|
|
5190 }
|
|
5191
|
|
5192 // Nullable Types
|
|
5193 //
|
|
5194 if (type.IsGenericType)
|
|
5195 {
|
|
5196 if (p is Boolean?) return ToNullableSByte((Boolean?) p);
|
|
5197 if (p is Byte?) return ToNullableSByte((Byte?) p);
|
|
5198 if (p is Char?) return ToNullableSByte((Char?) p);
|
|
5199 if (p is Decimal?) return ToNullableSByte((Decimal?) p);
|
|
5200 if (p is Double?) return ToNullableSByte((Double?) p);
|
|
5201 if (p is Int16?) return ToNullableSByte((Int16?) p);
|
|
5202 if (p is Int32?) return ToNullableSByte((Int32?) p);
|
|
5203 if (p is Int64?) return ToNullableSByte((Int64?) p);
|
|
5204 if (p is Single?) return ToNullableSByte((Single?) p);
|
|
5205 if (p is UInt16?) return ToNullableSByte((UInt16?) p);
|
|
5206 if (p is UInt32?) return ToNullableSByte((UInt32?) p);
|
|
5207 if (p is UInt64?) return ToNullableSByte((UInt64?) p);
|
|
5208 }
|
|
5209
|
|
5210 // Other Types
|
|
5211 //
|
|
5212 if (p is Binary) return ToNullableSByte((Binary) p);
|
|
5213 if (p is Byte[]) return ToNullableSByte((Byte[]) p);
|
|
5214
|
|
5215 #if !SILVERLIGHT
|
|
5216
|
|
5217 // Sql Types
|
|
5218 //
|
|
5219 if (p is INullable)
|
|
5220 {
|
|
5221 if (p is SqlBoolean) return ToNullableSByte((SqlBoolean)p);
|
|
5222 if (p is SqlByte) return ToNullableSByte((SqlByte) p);
|
|
5223 if (p is SqlDecimal) return ToNullableSByte((SqlDecimal)p);
|
|
5224 if (p is SqlDouble) return ToNullableSByte((SqlDouble) p);
|
|
5225 if (p is SqlInt16) return ToNullableSByte((SqlInt16) p);
|
|
5226 if (p is SqlInt32) return ToNullableSByte((SqlInt32) p);
|
|
5227 if (p is SqlInt64) return ToNullableSByte((SqlInt64) p);
|
|
5228 if (p is SqlMoney) return ToNullableSByte((SqlMoney) p);
|
|
5229 if (p is SqlSingle) return ToNullableSByte((SqlSingle) p);
|
|
5230 if (p is SqlString) return ToNullableSByte((SqlString) p);
|
|
5231 }
|
|
5232
|
|
5233 #endif
|
|
5234
|
|
5235 throw CreateInvalidCastException(p.GetType(), typeof(SByte?));
|
|
5236 }
|
|
5237
|
|
5238 #endregion
|
|
5239
|
|
5240 #region Single?
|
|
5241
|
|
5242 // Simple Types
|
|
5243 //
|
|
5244 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5245 public static Single? ToNullableSingle(Boolean p) { return p ? (Single?)1 : (Single?)0; }
|
|
5246 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5247 public static Single? ToNullableSingle(Byte p) { return p; }
|
|
5248 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5249 public static Single? ToNullableSingle(Char p) { return p; }
|
|
5250 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5251 public static Single? ToNullableSingle(Decimal p) { return checked((Single?)p); }
|
|
5252 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5253 public static Single? ToNullableSingle(Double p) { return checked((Single?)p); }
|
|
5254 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5255 public static Single? ToNullableSingle(Int16 p) { return p; }
|
|
5256 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5257 public static Single? ToNullableSingle(Int32 p) { return p; }
|
|
5258 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5259 public static Single? ToNullableSingle(Int64 p) { return p; }
|
|
5260 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5261 [CLSCompliant(false)]
|
|
5262 public static Single? ToNullableSingle(SByte p) { return p; }
|
|
5263 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5264 public static Single? ToNullableSingle(Single p) { return p; }
|
|
5265 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5266 public static Single? ToNullableSingle(String p) { return p == null? (Single?)null : Single.Parse(p); }
|
|
5267 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5268 [CLSCompliant(false)]
|
|
5269 public static Single? ToNullableSingle(UInt16 p) { return p; }
|
|
5270 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5271 [CLSCompliant(false)]
|
|
5272 public static Single? ToNullableSingle(UInt32 p) { return p; }
|
|
5273 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5274 [CLSCompliant(false)]
|
|
5275 public static Single? ToNullableSingle(UInt64 p) { return p; }
|
|
5276
|
|
5277 // Nullable Types
|
|
5278 //
|
|
5279 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5280 public static Single? ToNullableSingle(Boolean? p) { return p.HasValue && p.Value ? (Single?)1: (Single?)0; }
|
|
5281 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5282 public static Single? ToNullableSingle(Byte? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5283 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5284 public static Single? ToNullableSingle(Char? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5285 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5286 public static Single? ToNullableSingle(Decimal? p) { return p.HasValue ? checked((Single?)p.Value) : (Single?)null; }
|
|
5287 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5288 public static Single? ToNullableSingle(Double? p) { return p.HasValue ? checked((Single?)p.Value) : (Single?)null; }
|
|
5289 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5290 public static Single? ToNullableSingle(Int16? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5291 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5292 public static Single? ToNullableSingle(Int32? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5293 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5294 public static Single? ToNullableSingle(Int64? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5295 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5296 [CLSCompliant(false)]
|
|
5297 public static Single? ToNullableSingle(SByte? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5298 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5299 [CLSCompliant(false)]
|
|
5300 public static Single? ToNullableSingle(UInt16? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5301 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5302 [CLSCompliant(false)]
|
|
5303 public static Single? ToNullableSingle(UInt32? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5304 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5305 [CLSCompliant(false)]
|
|
5306 public static Single? ToNullableSingle(UInt64? p) { return p.HasValue ? p.Value : (Single?)null; }
|
|
5307
|
|
5308 // Other Types
|
|
5309 //
|
|
5310 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5311 public static Single? ToNullableSingle(Binary p) { return p == null || p.Length == 0 ? (Single?)null : BitConverter.ToSingle(p.ToArray(), 0); }
|
|
5312 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5313 public static Single? ToNullableSingle(Byte[] p) { return p == null || p.Length == 0 ? (Single?)null : BitConverter.ToSingle(p, 0); }
|
|
5314
|
|
5315 #if !SILVERLIGHT
|
|
5316
|
|
5317 // Sql Types
|
|
5318 //
|
|
5319 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5320 public static Single? ToNullableSingle(SqlBoolean p) { return p.IsNull ? (Single?)null : ToSingle(p.Value); }
|
|
5321 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5322 public static Single? ToNullableSingle(SqlByte p) { return p.IsNull ? (Single?)null : p.Value; }
|
|
5323 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5324 public static Single? ToNullableSingle(SqlDecimal p) { return p.IsNull ? (Single?)null : ToSingle(p.Value); }
|
|
5325 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5326 public static Single? ToNullableSingle(SqlDouble p) { return p.IsNull ? (Single?)null : ToSingle(p.Value); }
|
|
5327 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5328 public static Single? ToNullableSingle(SqlInt16 p) { return p.IsNull ? (Single?)null : p.Value; }
|
|
5329 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5330 public static Single? ToNullableSingle(SqlInt32 p) { return p.IsNull ? (Single?)null : p.Value; }
|
|
5331 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5332 public static Single? ToNullableSingle(SqlInt64 p) { return p.IsNull ? (Single?)null : p.Value; }
|
|
5333 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5334 public static Single? ToNullableSingle(SqlMoney p) { return p.IsNull ? (Single?)null : ToSingle(p.Value); }
|
|
5335 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5336 public static Single? ToNullableSingle(SqlSingle p) { return p.IsNull ? (Single?)null : p.Value; }
|
|
5337 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5338 public static Single? ToNullableSingle(SqlString p) { return p.IsNull ? (Single?)null : ToSingle(p.Value); }
|
|
5339
|
|
5340 #endif
|
|
5341
|
|
5342 // From Object
|
|
5343 //
|
|
5344 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Single?</c> value.</summary>
|
|
5345 public static Single? ToNullableSingle(object p)
|
|
5346 {
|
|
5347 if (p == null) return null;
|
|
5348
|
|
5349 if (p is Single?) return (Single?)p;
|
|
5350
|
|
5351 var type = p.GetType();
|
|
5352
|
|
5353 // Primitive types
|
|
5354 //
|
|
5355 switch (Type.GetTypeCode(type))
|
|
5356 {
|
|
5357 case TypeCode.DBNull : return null;
|
|
5358 case TypeCode.SByte : return ToNullableSingle((SByte) p);
|
|
5359 case TypeCode.Int16 : return ToNullableSingle((Int16) p);
|
|
5360 case TypeCode.Int32 : return ToNullableSingle((Int32) p);
|
|
5361 case TypeCode.Int64 : return ToNullableSingle((Int64) p);
|
|
5362 case TypeCode.Byte : return ToNullableSingle((Byte) p);
|
|
5363 case TypeCode.UInt16 : return ToNullableSingle((UInt16) p);
|
|
5364 case TypeCode.UInt32 : return ToNullableSingle((UInt32) p);
|
|
5365 case TypeCode.Char : return ToNullableSingle((Char) p);
|
|
5366 case TypeCode.UInt64 : return ToNullableSingle((UInt64) p);
|
|
5367 case TypeCode.Single : return ToNullableSingle((Single) p);
|
|
5368 case TypeCode.Double : return ToNullableSingle((Double) p);
|
|
5369 case TypeCode.Decimal : return ToNullableSingle((Decimal)p);
|
|
5370 case TypeCode.String : return ToNullableSingle((String) p);
|
|
5371 case TypeCode.Boolean : return ToNullableSingle((Boolean)p);
|
|
5372 }
|
|
5373
|
|
5374 // Nullable Types
|
|
5375 //
|
|
5376 if (type.IsGenericType)
|
|
5377 {
|
|
5378 if (p is Boolean?) return ToNullableSingle((Boolean?) p);
|
|
5379 if (p is Byte?) return ToNullableSingle((Byte?) p);
|
|
5380 if (p is Char?) return ToNullableSingle((Char?) p);
|
|
5381 if (p is Decimal?) return ToNullableSingle((Decimal?) p);
|
|
5382 if (p is Double?) return ToNullableSingle((Double?) p);
|
|
5383 if (p is Int16?) return ToNullableSingle((Int16?) p);
|
|
5384 if (p is Int32?) return ToNullableSingle((Int32?) p);
|
|
5385 if (p is Int64?) return ToNullableSingle((Int64?) p);
|
|
5386 if (p is SByte?) return ToNullableSingle((SByte?) p);
|
|
5387 if (p is UInt16?) return ToNullableSingle((UInt16?) p);
|
|
5388 if (p is UInt32?) return ToNullableSingle((UInt32?) p);
|
|
5389 if (p is UInt64?) return ToNullableSingle((UInt64?) p);
|
|
5390 }
|
|
5391
|
|
5392 // Other Types
|
|
5393 //
|
|
5394 if (p is Binary) return ToNullableSingle((Binary) p);
|
|
5395 if (p is Byte[]) return ToNullableSingle((Byte[]) p);
|
|
5396
|
|
5397 #if !SILVERLIGHT
|
|
5398
|
|
5399 // Sql Types
|
|
5400 //
|
|
5401 if (p is INullable)
|
|
5402 {
|
|
5403 if (p is SqlBoolean) return ToNullableSingle((SqlBoolean)p);
|
|
5404 if (p is SqlByte) return ToNullableSingle((SqlByte) p);
|
|
5405 if (p is SqlDecimal) return ToNullableSingle((SqlDecimal)p);
|
|
5406 if (p is SqlDouble) return ToNullableSingle((SqlDouble) p);
|
|
5407 if (p is SqlInt16) return ToNullableSingle((SqlInt16) p);
|
|
5408 if (p is SqlInt32) return ToNullableSingle((SqlInt32) p);
|
|
5409 if (p is SqlInt64) return ToNullableSingle((SqlInt64) p);
|
|
5410 if (p is SqlMoney) return ToNullableSingle((SqlMoney) p);
|
|
5411 if (p is SqlSingle) return ToNullableSingle((SqlSingle) p);
|
|
5412 if (p is SqlString) return ToNullableSingle((SqlString) p);
|
|
5413 }
|
|
5414
|
|
5415 #endif
|
|
5416
|
|
5417 throw CreateInvalidCastException(p.GetType(), typeof(Single?));
|
|
5418 }
|
|
5419
|
|
5420 #endregion
|
|
5421
|
|
5422 #region TimeSpan?
|
|
5423
|
|
5424 // Simple Types
|
|
5425 //
|
|
5426 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5427 public static TimeSpan? ToNullableTimeSpan(DateTime p) { return p - DateTime.MinValue; }
|
|
5428 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5429 public static TimeSpan? ToNullableTimeSpan(DateTimeOffset p) { return p - DateTimeOffset.MinValue; }
|
|
5430 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5431 public static TimeSpan? ToNullableTimeSpan(Double p) { return TimeSpan.FromDays (p); }
|
|
5432 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5433 public static TimeSpan? ToNullableTimeSpan(Int64 p) { return TimeSpan.FromTicks(p); }
|
|
5434 /// <summary>Converts the value from <c>String</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5435 public static TimeSpan? ToNullableTimeSpan(String p) { return p == null? (TimeSpan?)null : TimeSpan.Parse(p); }
|
|
5436 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5437 public static TimeSpan? ToNullableTimeSpan(TimeSpan p) { return p; }
|
|
5438
|
|
5439 // Nullable Types
|
|
5440 //
|
|
5441 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5442 public static TimeSpan? ToNullableTimeSpan(DateTime? p) { return p.HasValue ? p.Value - DateTime.MinValue : (TimeSpan?)null; }
|
|
5443 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5444 public static TimeSpan? ToNullableTimeSpan(DateTimeOffset? p) { return p.HasValue ? p.Value - DateTimeOffset.MinValue : (TimeSpan?)null; }
|
|
5445 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5446 public static TimeSpan? ToNullableTimeSpan(Double? p) { return p.HasValue ? TimeSpan.FromDays (p.Value) : (TimeSpan?)null; }
|
|
5447 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5448 public static TimeSpan? ToNullableTimeSpan(Int64? p) { return p.HasValue ? TimeSpan.FromTicks(p.Value) : (TimeSpan?)null; }
|
|
5449
|
|
5450 // Other Types
|
|
5451 //
|
|
5452 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5453 public static TimeSpan? ToNullableTimeSpan(Binary p) { return p == null || p.Length == 0? (TimeSpan?)null : TimeSpan.FromTicks(ToInt64(p.ToArray())); }
|
|
5454 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5455 public static TimeSpan? ToNullableTimeSpan(Byte[] p) { return p == null || p.Length == 0? (TimeSpan?)null : TimeSpan.FromTicks(ToInt64(p)); }
|
|
5456
|
|
5457 #if !SILVERLIGHT
|
|
5458
|
|
5459 // Sql Types
|
|
5460 //
|
|
5461 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5462 public static TimeSpan? ToNullableTimeSpan(SqlDateTime p) { return p.IsNull ? (TimeSpan?)null : p.Value - DateTime.MinValue; }
|
|
5463 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5464 public static TimeSpan? ToNullableTimeSpan(SqlDouble p) { return p.IsNull ? (TimeSpan?)null : TimeSpan.FromDays(p.Value); }
|
|
5465 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5466 public static TimeSpan? ToNullableTimeSpan(SqlInt64 p) { return p.IsNull ? (TimeSpan?)null : TimeSpan.FromTicks(p.Value); }
|
|
5467 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5468 public static TimeSpan? ToNullableTimeSpan(SqlString p) { return p.IsNull ? (TimeSpan?)null : TimeSpan.Parse(p.Value); }
|
|
5469
|
|
5470 #endif
|
|
5471
|
|
5472 // From Object
|
|
5473 //
|
|
5474 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>TimeSpan?</c> value.</summary>
|
|
5475 public static TimeSpan? ToNullableTimeSpan(object p)
|
|
5476 {
|
|
5477 if (p == null) return null;
|
|
5478
|
|
5479 if (p is TimeSpan?) return (TimeSpan?)p;
|
|
5480
|
|
5481 var type = p.GetType();
|
|
5482
|
|
5483 // Primitive types
|
|
5484 //
|
|
5485 switch (Type.GetTypeCode(type))
|
|
5486 {
|
|
5487 case TypeCode.DBNull : return null;
|
|
5488 case TypeCode.DateTime : return ToNullableTimeSpan((DateTime) p);
|
|
5489 case TypeCode.Int64 : return ToNullableTimeSpan((Int64) p);
|
|
5490 case TypeCode.Double : return ToNullableTimeSpan((Double) p);
|
|
5491 case TypeCode.String : return ToNullableTimeSpan((String) p);
|
|
5492 }
|
|
5493
|
|
5494 // Simple Types
|
|
5495 //
|
|
5496 if (p is DateTimeOffset) return ToNullableTimeSpan((DateTimeOffset) p);
|
|
5497 if (p is TimeSpan) return ToNullableTimeSpan((TimeSpan) p);
|
|
5498
|
|
5499 // Nullable Types
|
|
5500 //
|
|
5501 if (type.IsGenericType)
|
|
5502 {
|
|
5503 if (p is DateTime?) return ToNullableTimeSpan((DateTime?) p);
|
|
5504 if (p is DateTimeOffset?) return ToNullableTimeSpan((DateTimeOffset?)p);
|
|
5505 if (p is Double?) return ToNullableTimeSpan((Double?) p);
|
|
5506 if (p is Int64?) return ToNullableTimeSpan((Int64?) p);
|
|
5507 }
|
|
5508
|
|
5509 // Other Types
|
|
5510 //
|
|
5511 if (p is Binary) return ToNullableTimeSpan((Binary) p);
|
|
5512 if (p is Byte[]) return ToNullableTimeSpan((Byte[]) p);
|
|
5513
|
|
5514 #if !SILVERLIGHT
|
|
5515
|
|
5516 // Sql Types
|
|
5517 //
|
|
5518 if (p is INullable)
|
|
5519 {
|
|
5520 if (p is SqlDateTime) return ToNullableTimeSpan((SqlDateTime) p);
|
|
5521 if (p is SqlDouble) return ToNullableTimeSpan((SqlDouble) p);
|
|
5522 if (p is SqlInt64) return ToNullableTimeSpan((SqlInt64) p);
|
|
5523 if (p is SqlString) return ToNullableTimeSpan((SqlString) p);
|
|
5524 }
|
|
5525
|
|
5526 #endif
|
|
5527
|
|
5528 throw CreateInvalidCastException(p.GetType(), typeof(TimeSpan?));
|
|
5529 }
|
|
5530
|
|
5531 #endregion
|
|
5532
|
|
5533 #region UInt16?
|
|
5534
|
|
5535 // Simple Types
|
|
5536 //
|
|
5537 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5538 [CLSCompliant(false)]
|
|
5539 public static UInt16? ToNullableUInt16(Boolean p) { return p ? (UInt16?)1 : (UInt16?)0; }
|
|
5540 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5541 [CLSCompliant(false)]
|
|
5542 public static UInt16? ToNullableUInt16(Byte p) { return p; }
|
|
5543 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5544 [CLSCompliant(false)]
|
|
5545 public static UInt16? ToNullableUInt16(Char p) { return checked((UInt16?)p); }
|
|
5546 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5547 [CLSCompliant(false)]
|
|
5548 public static UInt16? ToNullableUInt16(Decimal p) { return checked((UInt16?)p); }
|
|
5549 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5550 [CLSCompliant(false)]
|
|
5551 public static UInt16? ToNullableUInt16(Double p) { return checked((UInt16?)p); }
|
|
5552 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5553 [CLSCompliant(false)]
|
|
5554 public static UInt16? ToNullableUInt16(Int16 p) { return checked((UInt16?)p); }
|
|
5555 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5556 [CLSCompliant(false)]
|
|
5557 public static UInt16? ToNullableUInt16(Int32 p) { return checked((UInt16?)p); }
|
|
5558 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5559 [CLSCompliant(false)]
|
|
5560 public static UInt16? ToNullableUInt16(Int64 p) { return checked((UInt16?)p); }
|
|
5561 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5562 [CLSCompliant(false)]
|
|
5563 public static UInt16? ToNullableUInt16(SByte p) { return checked((UInt16?)p); }
|
|
5564 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5565 [CLSCompliant(false)]
|
|
5566 public static UInt16? ToNullableUInt16(Single p) { return checked((UInt16?)p); }
|
|
5567 /// <summary>Converts the value from <c>String</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5568 [CLSCompliant(false)]
|
|
5569 public static UInt16? ToNullableUInt16(String p) { return p == null? (UInt16?)null : UInt16.Parse(p); }
|
|
5570 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5571 [CLSCompliant(false)]
|
|
5572 public static UInt16? ToNullableUInt16(UInt16 p) { return p; }
|
|
5573 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5574 [CLSCompliant(false)]
|
|
5575 public static UInt16? ToNullableUInt16(UInt32 p) { return checked((UInt16?)p); }
|
|
5576 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5577 [CLSCompliant(false)]
|
|
5578 public static UInt16? ToNullableUInt16(UInt64 p) { return checked((UInt16?)p); }
|
|
5579
|
|
5580 // Nullable Types
|
|
5581 //
|
|
5582 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5583 [CLSCompliant(false)]
|
|
5584 public static UInt16? ToNullableUInt16(Boolean? p) { return p.HasValue && p.Value ? (UInt16?)1: (UInt16?)0; }
|
|
5585 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5586 [CLSCompliant(false)]
|
|
5587 public static UInt16? ToNullableUInt16(Byte? p) { return p.HasValue ? p.Value : (UInt16?)null; }
|
|
5588 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5589 [CLSCompliant(false)]
|
|
5590 public static UInt16? ToNullableUInt16(Char? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5591 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5592 [CLSCompliant(false)]
|
|
5593 public static UInt16? ToNullableUInt16(Decimal? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5594 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5595 [CLSCompliant(false)]
|
|
5596 public static UInt16? ToNullableUInt16(Double? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5597 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5598 [CLSCompliant(false)]
|
|
5599 public static UInt16? ToNullableUInt16(Int16? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5600 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5601 [CLSCompliant(false)]
|
|
5602 public static UInt16? ToNullableUInt16(Int32? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5603 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5604 [CLSCompliant(false)]
|
|
5605 public static UInt16? ToNullableUInt16(Int64? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5606 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5607 [CLSCompliant(false)]
|
|
5608 public static UInt16? ToNullableUInt16(SByte? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5609 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5610 [CLSCompliant(false)]
|
|
5611 public static UInt16? ToNullableUInt16(Single? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5612 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5613 [CLSCompliant(false)]
|
|
5614 public static UInt16? ToNullableUInt16(UInt32? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5615 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5616 [CLSCompliant(false)]
|
|
5617 public static UInt16? ToNullableUInt16(UInt64? p) { return p.HasValue ? checked((UInt16?)p.Value) : (UInt16?)null; }
|
|
5618
|
|
5619 // Other Types
|
|
5620 //
|
|
5621 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5622 [CLSCompliant(false)]
|
|
5623 public static UInt16? ToNullableUInt16(Binary p) { return p == null || p.Length == 0 ? (UInt16?)null : BitConverter.ToUInt16(p.ToArray(), 0); }
|
|
5624 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5625 [CLSCompliant(false)]
|
|
5626 public static UInt16? ToNullableUInt16(Byte[] p) { return p == null || p.Length == 0 ? (UInt16?)null : BitConverter.ToUInt16(p, 0); }
|
|
5627
|
|
5628 #if !SILVERLIGHT
|
|
5629
|
|
5630 // Sql Types
|
|
5631 //
|
|
5632 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5633 [CLSCompliant(false)]
|
|
5634 public static UInt16? ToNullableUInt16(SqlBoolean p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5635 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5636 [CLSCompliant(false)]
|
|
5637 public static UInt16? ToNullableUInt16(SqlByte p) { return p.IsNull ? (UInt16?)null : p.Value; }
|
|
5638 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5639 [CLSCompliant(false)]
|
|
5640 public static UInt16? ToNullableUInt16(SqlDecimal p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5641 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5642 [CLSCompliant(false)]
|
|
5643 public static UInt16? ToNullableUInt16(SqlDouble p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5644 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5645 [CLSCompliant(false)]
|
|
5646 public static UInt16? ToNullableUInt16(SqlInt16 p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5647 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5648 [CLSCompliant(false)]
|
|
5649 public static UInt16? ToNullableUInt16(SqlInt32 p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5650 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5651 [CLSCompliant(false)]
|
|
5652 public static UInt16? ToNullableUInt16(SqlInt64 p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5653 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5654 [CLSCompliant(false)]
|
|
5655 public static UInt16? ToNullableUInt16(SqlMoney p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5656 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5657 [CLSCompliant(false)]
|
|
5658 public static UInt16? ToNullableUInt16(SqlSingle p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5659 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5660 [CLSCompliant(false)]
|
|
5661 public static UInt16? ToNullableUInt16(SqlString p) { return p.IsNull ? (UInt16?)null : ToUInt16(p.Value); }
|
|
5662
|
|
5663 #endif
|
|
5664
|
|
5665 // From Object
|
|
5666 //
|
|
5667 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>UInt16?</c> value.</summary>
|
|
5668 [CLSCompliant(false)]
|
|
5669 public static UInt16? ToNullableUInt16(object p)
|
|
5670 {
|
|
5671 if (p == null) return null;
|
|
5672
|
|
5673 if (p is UInt16?) return (UInt16?)p;
|
|
5674
|
|
5675 var type = p.GetType();
|
|
5676
|
|
5677 // Primitive types
|
|
5678 //
|
|
5679 switch (Type.GetTypeCode(type))
|
|
5680 {
|
|
5681 case TypeCode.DBNull : return null;
|
|
5682 case TypeCode.UInt16 : return ToNullableUInt16((UInt16) p);
|
|
5683 case TypeCode.Byte : return ToNullableUInt16((Byte) p);
|
|
5684 case TypeCode.SByte : return ToNullableUInt16((SByte) p);
|
|
5685 case TypeCode.Int16 : return ToNullableUInt16((Int16) p);
|
|
5686 case TypeCode.Int32 : return ToNullableUInt16((Int32) p);
|
|
5687 case TypeCode.Int64 : return ToNullableUInt16((Int64) p);
|
|
5688 case TypeCode.UInt32 : return ToNullableUInt16((UInt32) p);
|
|
5689 case TypeCode.UInt64 : return ToNullableUInt16((UInt64) p);
|
|
5690 case TypeCode.Single : return ToNullableUInt16((Single) p);
|
|
5691 case TypeCode.Double : return ToNullableUInt16((Double) p);
|
|
5692 case TypeCode.Decimal : return ToNullableUInt16((Decimal)p);
|
|
5693 case TypeCode.Char : return ToNullableUInt16((Char) p);
|
|
5694 case TypeCode.String : return ToNullableUInt16((String) p);
|
|
5695 case TypeCode.Boolean : return ToNullableUInt16((Boolean)p);
|
|
5696 }
|
|
5697
|
|
5698 // Nullable Types
|
|
5699 //
|
|
5700 if (type.IsGenericType)
|
|
5701 {
|
|
5702 if (p is Boolean?) return ToNullableUInt16((Boolean?) p);
|
|
5703 if (p is Byte?) return ToNullableUInt16((Byte?) p);
|
|
5704 if (p is Char?) return ToNullableUInt16((Char?) p);
|
|
5705 if (p is Decimal?) return ToNullableUInt16((Decimal?) p);
|
|
5706 if (p is Double?) return ToNullableUInt16((Double?) p);
|
|
5707 if (p is Int16?) return ToNullableUInt16((Int16?) p);
|
|
5708 if (p is Int32?) return ToNullableUInt16((Int32?) p);
|
|
5709 if (p is Int64?) return ToNullableUInt16((Int64?) p);
|
|
5710 if (p is SByte?) return ToNullableUInt16((SByte?) p);
|
|
5711 if (p is Single?) return ToNullableUInt16((Single?) p);
|
|
5712 if (p is UInt32?) return ToNullableUInt16((UInt32?) p);
|
|
5713 if (p is UInt64?) return ToNullableUInt16((UInt64?) p);
|
|
5714 }
|
|
5715
|
|
5716 // Other Types
|
|
5717 //
|
|
5718 if (p is Binary) return ToNullableUInt16((Binary) p);
|
|
5719 if (p is Byte[]) return ToNullableUInt16((Byte[]) p);
|
|
5720
|
|
5721 #if !SILVERLIGHT
|
|
5722
|
|
5723 // Sql Types
|
|
5724 //
|
|
5725 if (p is INullable)
|
|
5726 {
|
|
5727 if (p is SqlBoolean) return ToNullableUInt16((SqlBoolean)p);
|
|
5728 if (p is SqlByte) return ToNullableUInt16((SqlByte) p);
|
|
5729 if (p is SqlDecimal) return ToNullableUInt16((SqlDecimal)p);
|
|
5730 if (p is SqlDouble) return ToNullableUInt16((SqlDouble) p);
|
|
5731 if (p is SqlInt16) return ToNullableUInt16((SqlInt16) p);
|
|
5732 if (p is SqlInt32) return ToNullableUInt16((SqlInt32) p);
|
|
5733 if (p is SqlInt64) return ToNullableUInt16((SqlInt64) p);
|
|
5734 if (p is SqlMoney) return ToNullableUInt16((SqlMoney) p);
|
|
5735 if (p is SqlSingle) return ToNullableUInt16((SqlSingle) p);
|
|
5736 if (p is SqlString) return ToNullableUInt16((SqlString) p);
|
|
5737 }
|
|
5738
|
|
5739 #endif
|
|
5740
|
|
5741 throw CreateInvalidCastException(p.GetType(), typeof(UInt16?));
|
|
5742 }
|
|
5743
|
|
5744 #endregion
|
|
5745
|
|
5746 #region UInt32?
|
|
5747
|
|
5748 // Simple Types
|
|
5749 //
|
|
5750 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5751 [CLSCompliant(false)]
|
|
5752 public static UInt32? ToNullableUInt32(Boolean p) { return p ? (UInt32?)1 : (UInt32?)0; }
|
|
5753 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5754 [CLSCompliant(false)]
|
|
5755 public static UInt32? ToNullableUInt32(Byte p) { return p; }
|
|
5756 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5757 [CLSCompliant(false)]
|
|
5758 public static UInt32? ToNullableUInt32(Char p) { return checked((UInt32?)p); }
|
|
5759 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5760 [CLSCompliant(false)]
|
|
5761 public static UInt32? ToNullableUInt32(Decimal p) { return checked((UInt32?)p); }
|
|
5762 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5763 [CLSCompliant(false)]
|
|
5764 public static UInt32? ToNullableUInt32(Double p) { return checked((UInt32?)p); }
|
|
5765 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5766 [CLSCompliant(false)]
|
|
5767 public static UInt32? ToNullableUInt32(Int16 p) { return checked((UInt32?)p); }
|
|
5768 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5769 [CLSCompliant(false)]
|
|
5770 public static UInt32? ToNullableUInt32(Int32 p) { return checked((UInt32?)p); }
|
|
5771 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5772 [CLSCompliant(false)]
|
|
5773 public static UInt32? ToNullableUInt32(Int64 p) { return checked((UInt32?)p); }
|
|
5774 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5775 [CLSCompliant(false)]
|
|
5776 public static UInt32? ToNullableUInt32(SByte p) { return checked((UInt32?)p); }
|
|
5777 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5778 [CLSCompliant(false)]
|
|
5779 public static UInt32? ToNullableUInt32(Single p) { return checked((UInt32?)p); }
|
|
5780 /// <summary>Converts the value from <c>String</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5781 [CLSCompliant(false)]
|
|
5782 public static UInt32? ToNullableUInt32(String p) { return p == null? (UInt32?)null : UInt32.Parse(p); }
|
|
5783 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5784 [CLSCompliant(false)]
|
|
5785 public static UInt32? ToNullableUInt32(UInt16 p) { return p; }
|
|
5786 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5787 [CLSCompliant(false)]
|
|
5788 public static UInt32? ToNullableUInt32(UInt32 p) { return p; }
|
|
5789 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5790 [CLSCompliant(false)]
|
|
5791 public static UInt32? ToNullableUInt32(UInt64 p) { return checked((UInt32?)p); }
|
|
5792
|
|
5793 // Nullable Types
|
|
5794 //
|
|
5795 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5796 [CLSCompliant(false)]
|
|
5797 public static UInt32? ToNullableUInt32(Boolean? p) { return p.HasValue && p.Value ? (UInt32?)1: (UInt32?)0; }
|
|
5798 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5799 [CLSCompliant(false)]
|
|
5800 public static UInt32? ToNullableUInt32(Byte? p) { return p.HasValue ? p.Value : (UInt32?)null; }
|
|
5801 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5802 [CLSCompliant(false)]
|
|
5803 public static UInt32? ToNullableUInt32(Char? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5804 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5805 [CLSCompliant(false)]
|
|
5806 public static UInt32? ToNullableUInt32(Decimal? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5807 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5808 [CLSCompliant(false)]
|
|
5809 public static UInt32? ToNullableUInt32(Double? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5810 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5811 [CLSCompliant(false)]
|
|
5812 public static UInt32? ToNullableUInt32(Int16? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5813 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5814 [CLSCompliant(false)]
|
|
5815 public static UInt32? ToNullableUInt32(Int32? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5816 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5817 [CLSCompliant(false)]
|
|
5818 public static UInt32? ToNullableUInt32(Int64? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5819 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5820 [CLSCompliant(false)]
|
|
5821 public static UInt32? ToNullableUInt32(SByte? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5822 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5823 [CLSCompliant(false)]
|
|
5824 public static UInt32? ToNullableUInt32(Single? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5825 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5826 [CLSCompliant(false)]
|
|
5827 public static UInt32? ToNullableUInt32(UInt16? p) { return p.HasValue ? p.Value : (UInt32?)null; }
|
|
5828 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5829 [CLSCompliant(false)]
|
|
5830 public static UInt32? ToNullableUInt32(UInt64? p) { return p.HasValue ? checked((UInt32?)p.Value) : (UInt32?)null; }
|
|
5831
|
|
5832 // Other Types
|
|
5833 //
|
|
5834 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5835 [CLSCompliant(false)]
|
|
5836 public static UInt32? ToNullableUInt32(Binary p) { return p == null || p.Length == 0 ? (UInt32?)null : BitConverter.ToUInt32(p.ToArray(), 0); }
|
|
5837 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5838 [CLSCompliant(false)]
|
|
5839 public static UInt32? ToNullableUInt32(Byte[] p) { return p == null || p.Length == 0 ? (UInt32?)null : BitConverter.ToUInt32(p, 0); }
|
|
5840
|
|
5841 #if !SILVERLIGHT
|
|
5842
|
|
5843 // Sql Types
|
|
5844 //
|
|
5845 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5846 [CLSCompliant(false)]
|
|
5847 public static UInt32? ToNullableUInt32(SqlBoolean p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5848 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5849 [CLSCompliant(false)]
|
|
5850 public static UInt32? ToNullableUInt32(SqlByte p) { return p.IsNull ? (UInt32?)null : p.Value; }
|
|
5851 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5852 [CLSCompliant(false)]
|
|
5853 public static UInt32? ToNullableUInt32(SqlDecimal p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5854 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5855 [CLSCompliant(false)]
|
|
5856 public static UInt32? ToNullableUInt32(SqlDouble p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5857 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5858 [CLSCompliant(false)]
|
|
5859 public static UInt32? ToNullableUInt32(SqlInt16 p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5860 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5861 [CLSCompliant(false)]
|
|
5862 public static UInt32? ToNullableUInt32(SqlInt32 p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5863 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5864 [CLSCompliant(false)]
|
|
5865 public static UInt32? ToNullableUInt32(SqlInt64 p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5866 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5867 [CLSCompliant(false)]
|
|
5868 public static UInt32? ToNullableUInt32(SqlMoney p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5869 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5870 [CLSCompliant(false)]
|
|
5871 public static UInt32? ToNullableUInt32(SqlSingle p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5872 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5873 [CLSCompliant(false)]
|
|
5874 public static UInt32? ToNullableUInt32(SqlString p) { return p.IsNull ? (UInt32?)null : ToUInt32(p.Value); }
|
|
5875
|
|
5876 #endif
|
|
5877
|
|
5878 // From Object
|
|
5879 //
|
|
5880 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>UInt32?</c> value.</summary>
|
|
5881 [CLSCompliant(false)]
|
|
5882 public static UInt32? ToNullableUInt32(object p)
|
|
5883 {
|
|
5884 if (p == null) return null;
|
|
5885
|
|
5886 if (p is UInt32?) return (UInt32?)p;
|
|
5887
|
|
5888 var type = p.GetType();
|
|
5889
|
|
5890 // Primitive types
|
|
5891 //
|
|
5892 switch (Type.GetTypeCode(type))
|
|
5893 {
|
|
5894 case TypeCode.DBNull : return null;
|
|
5895 case TypeCode.Byte : return ToNullableUInt32((Byte) p);
|
|
5896 case TypeCode.UInt16 : return ToNullableUInt32((UInt16) p);
|
|
5897 case TypeCode.UInt32 : return ToNullableUInt32((UInt32) p);
|
|
5898 case TypeCode.SByte : return ToNullableUInt32((SByte) p);
|
|
5899 case TypeCode.Int16 : return ToNullableUInt32((Int16) p);
|
|
5900 case TypeCode.Int32 : return ToNullableUInt32((Int32) p);
|
|
5901 case TypeCode.Int64 : return ToNullableUInt32((Int64) p);
|
|
5902 case TypeCode.UInt64 : return ToNullableUInt32((UInt64) p);
|
|
5903 case TypeCode.Single : return ToNullableUInt32((Single) p);
|
|
5904 case TypeCode.Double : return ToNullableUInt32((Double) p);
|
|
5905 case TypeCode.Decimal : return ToNullableUInt32((Decimal)p);
|
|
5906 case TypeCode.Char : return ToNullableUInt32((Char) p);
|
|
5907 case TypeCode.String : return ToNullableUInt32((String) p);
|
|
5908 case TypeCode.Boolean : return ToNullableUInt32((Boolean)p);
|
|
5909 }
|
|
5910
|
|
5911 // Nullable Types
|
|
5912 //
|
|
5913 if (type.IsGenericType)
|
|
5914 {
|
|
5915 if (p is Boolean?) return ToNullableUInt32((Boolean?) p);
|
|
5916 if (p is Byte?) return ToNullableUInt32((Byte?) p);
|
|
5917 if (p is Char?) return ToNullableUInt32((Char?) p);
|
|
5918 if (p is Decimal?) return ToNullableUInt32((Decimal?) p);
|
|
5919 if (p is Double?) return ToNullableUInt32((Double?) p);
|
|
5920 if (p is Int16?) return ToNullableUInt32((Int16?) p);
|
|
5921 if (p is Int32?) return ToNullableUInt32((Int32?) p);
|
|
5922 if (p is Int64?) return ToNullableUInt32((Int64?) p);
|
|
5923 if (p is SByte?) return ToNullableUInt32((SByte?) p);
|
|
5924 if (p is Single?) return ToNullableUInt32((Single?) p);
|
|
5925 if (p is UInt16?) return ToNullableUInt32((UInt16?) p);
|
|
5926 if (p is UInt64?) return ToNullableUInt32((UInt64?) p);
|
|
5927 }
|
|
5928
|
|
5929 // Other Types
|
|
5930 //
|
|
5931 if (p is Binary) return ToNullableUInt32((Binary) p);
|
|
5932 if (p is Byte[]) return ToNullableUInt32((Byte[]) p);
|
|
5933
|
|
5934 #if !SILVERLIGHT
|
|
5935
|
|
5936 // Sql Types
|
|
5937 //
|
|
5938 if (p is INullable)
|
|
5939 {
|
|
5940 if (p is SqlBoolean) return ToNullableUInt32((SqlBoolean)p);
|
|
5941 if (p is SqlByte) return ToNullableUInt32((SqlByte) p);
|
|
5942 if (p is SqlDecimal) return ToNullableUInt32((SqlDecimal)p);
|
|
5943 if (p is SqlDouble) return ToNullableUInt32((SqlDouble) p);
|
|
5944 if (p is SqlInt16) return ToNullableUInt32((SqlInt16) p);
|
|
5945 if (p is SqlInt32) return ToNullableUInt32((SqlInt32) p);
|
|
5946 if (p is SqlInt64) return ToNullableUInt32((SqlInt64) p);
|
|
5947 if (p is SqlMoney) return ToNullableUInt32((SqlMoney) p);
|
|
5948 if (p is SqlSingle) return ToNullableUInt32((SqlSingle) p);
|
|
5949 if (p is SqlString) return ToNullableUInt32((SqlString) p);
|
|
5950 }
|
|
5951
|
|
5952 #endif
|
|
5953
|
|
5954 throw CreateInvalidCastException(p.GetType(), typeof(UInt32?));
|
|
5955 }
|
|
5956
|
|
5957 #endregion
|
|
5958
|
|
5959 #region UInt64?
|
|
5960
|
|
5961 // Simple Types
|
|
5962 //
|
|
5963 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5964 [CLSCompliant(false)]
|
|
5965 public static UInt64? ToNullableUInt64(Boolean p) { return p ? (UInt64?)1 : (UInt64?)0; }
|
|
5966 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5967 [CLSCompliant(false)]
|
|
5968 public static UInt64? ToNullableUInt64(Byte p) { return p; }
|
|
5969 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5970 [CLSCompliant(false)]
|
|
5971 public static UInt64? ToNullableUInt64(Char p) { return checked((UInt64?)p); }
|
|
5972 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5973 [CLSCompliant(false)]
|
|
5974 public static UInt64? ToNullableUInt64(Decimal p) { return checked((UInt64?)p); }
|
|
5975 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5976 [CLSCompliant(false)]
|
|
5977 public static UInt64? ToNullableUInt64(Double p) { return checked((UInt64?)p); }
|
|
5978 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5979 [CLSCompliant(false)]
|
|
5980 public static UInt64? ToNullableUInt64(Int16 p) { return checked((UInt64?)p); }
|
|
5981 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5982 [CLSCompliant(false)]
|
|
5983 public static UInt64? ToNullableUInt64(Int32 p) { return checked((UInt64?)p); }
|
|
5984 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5985 [CLSCompliant(false)]
|
|
5986 public static UInt64? ToNullableUInt64(Int64 p) { return checked((UInt64?)p); }
|
|
5987 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5988 [CLSCompliant(false)]
|
|
5989 public static UInt64? ToNullableUInt64(SByte p) { return checked((UInt64?)p); }
|
|
5990 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5991 [CLSCompliant(false)]
|
|
5992 public static UInt64? ToNullableUInt64(Single p) { return checked((UInt64?)p); }
|
|
5993 /// <summary>Converts the value from <c>String</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5994 [CLSCompliant(false)]
|
|
5995 public static UInt64? ToNullableUInt64(String p) { return p == null? (UInt64?)null : UInt64.Parse(p); }
|
|
5996 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
5997 [CLSCompliant(false)]
|
|
5998 public static UInt64? ToNullableUInt64(UInt16 p) { return p; }
|
|
5999 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6000 [CLSCompliant(false)]
|
|
6001 public static UInt64? ToNullableUInt64(UInt32 p) { return p; }
|
|
6002 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6003 [CLSCompliant(false)]
|
|
6004 public static UInt64? ToNullableUInt64(UInt64 p) { return p; }
|
|
6005
|
|
6006 // Nullable Types
|
|
6007 //
|
|
6008 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6009 [CLSCompliant(false)]
|
|
6010 public static UInt64? ToNullableUInt64(Boolean? p) { return p.HasValue && p.Value ? (UInt64?)1: (UInt64?)0; }
|
|
6011 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6012 [CLSCompliant(false)]
|
|
6013 public static UInt64? ToNullableUInt64(Byte? p) { return p.HasValue ? p.Value : (UInt64?)null; }
|
|
6014 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6015 [CLSCompliant(false)]
|
|
6016 public static UInt64? ToNullableUInt64(Char? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6017 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6018 [CLSCompliant(false)]
|
|
6019 public static UInt64? ToNullableUInt64(Decimal? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6020 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6021 [CLSCompliant(false)]
|
|
6022 public static UInt64? ToNullableUInt64(Double? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6023 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6024 [CLSCompliant(false)]
|
|
6025 public static UInt64? ToNullableUInt64(Int16? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6026 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6027 [CLSCompliant(false)]
|
|
6028 public static UInt64? ToNullableUInt64(Int32? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6029 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6030 [CLSCompliant(false)]
|
|
6031 public static UInt64? ToNullableUInt64(Int64? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6032 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6033 [CLSCompliant(false)]
|
|
6034 public static UInt64? ToNullableUInt64(SByte? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6035 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6036 [CLSCompliant(false)]
|
|
6037 public static UInt64? ToNullableUInt64(Single? p) { return p.HasValue ? checked((UInt64?)p.Value) : (UInt64?)null; }
|
|
6038 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6039 [CLSCompliant(false)]
|
|
6040 public static UInt64? ToNullableUInt64(UInt16? p) { return p.HasValue ? p.Value : (UInt64?)null; }
|
|
6041 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6042 [CLSCompliant(false)]
|
|
6043 public static UInt64? ToNullableUInt64(UInt32? p) { return p.HasValue ? p.Value : (UInt64?)null; }
|
|
6044
|
|
6045 // Other Types
|
|
6046 //
|
|
6047 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6048 [CLSCompliant(false)]
|
|
6049 public static UInt64? ToNullableUInt64(Binary p) { return p == null || p.Length == 0 ? (UInt64?)null : BitConverter.ToUInt64(p.ToArray(), 0); }
|
|
6050 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6051 [CLSCompliant(false)]
|
|
6052 public static UInt64? ToNullableUInt64(Byte[] p) { return p == null || p.Length == 0 ? (UInt64?)null : BitConverter.ToUInt64(p, 0); }
|
|
6053
|
|
6054 #if !SILVERLIGHT
|
|
6055
|
|
6056 // Sql Types
|
|
6057 //
|
|
6058 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6059 [CLSCompliant(false)]
|
|
6060 public static UInt64? ToNullableUInt64(SqlBoolean p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6061 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6062 [CLSCompliant(false)]
|
|
6063 public static UInt64? ToNullableUInt64(SqlByte p) { return p.IsNull ? (UInt64?)null : p.Value; }
|
|
6064 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6065 [CLSCompliant(false)]
|
|
6066 public static UInt64? ToNullableUInt64(SqlDecimal p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6067 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6068 [CLSCompliant(false)]
|
|
6069 public static UInt64? ToNullableUInt64(SqlDouble p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6070 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6071 [CLSCompliant(false)]
|
|
6072 public static UInt64? ToNullableUInt64(SqlInt16 p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6073 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6074 [CLSCompliant(false)]
|
|
6075 public static UInt64? ToNullableUInt64(SqlInt32 p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6076 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6077 [CLSCompliant(false)]
|
|
6078 public static UInt64? ToNullableUInt64(SqlInt64 p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6079 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6080 [CLSCompliant(false)]
|
|
6081 public static UInt64? ToNullableUInt64(SqlMoney p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6082 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6083 [CLSCompliant(false)]
|
|
6084 public static UInt64? ToNullableUInt64(SqlSingle p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6085 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6086 [CLSCompliant(false)]
|
|
6087 public static UInt64? ToNullableUInt64(SqlString p) { return p.IsNull ? (UInt64?)null : ToUInt64(p.Value); }
|
|
6088
|
|
6089 #endif
|
|
6090
|
|
6091 // From Object
|
|
6092 //
|
|
6093 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>UInt64?</c> value.</summary>
|
|
6094 [CLSCompliant(false)]
|
|
6095 public static UInt64? ToNullableUInt64(object p)
|
|
6096 {
|
|
6097 if (p == null) return null;
|
|
6098
|
|
6099 if (p is UInt64?) return (UInt64?)p;
|
|
6100
|
|
6101 var type = p.GetType();
|
|
6102
|
|
6103 // Primitive types
|
|
6104 //
|
|
6105 switch (Type.GetTypeCode(type))
|
|
6106 {
|
|
6107 case TypeCode.DBNull : return null;
|
|
6108 case TypeCode.Byte : return ToNullableUInt64((Byte) p);
|
|
6109 case TypeCode.UInt16 : return ToNullableUInt64((UInt16) p);
|
|
6110 case TypeCode.UInt32 : return ToNullableUInt64((UInt32) p);
|
|
6111 case TypeCode.UInt64 : return ToNullableUInt64((UInt64) p);
|
|
6112 case TypeCode.SByte : return ToNullableUInt64((SByte) p);
|
|
6113 case TypeCode.Int16 : return ToNullableUInt64((Int16) p);
|
|
6114 case TypeCode.Int32 : return ToNullableUInt64((Int32) p);
|
|
6115 case TypeCode.Int64 : return ToNullableUInt64((Int64) p);
|
|
6116 case TypeCode.Single : return ToNullableUInt64((Single) p);
|
|
6117 case TypeCode.Double : return ToNullableUInt64((Double) p);
|
|
6118 case TypeCode.Decimal : return ToNullableUInt64((Decimal)p);
|
|
6119 case TypeCode.Char : return ToNullableUInt64((Char) p);
|
|
6120 case TypeCode.String : return ToNullableUInt64((String) p);
|
|
6121 case TypeCode.Boolean : return ToNullableUInt64((Boolean)p);
|
|
6122 }
|
|
6123
|
|
6124 // Nullable Types
|
|
6125 //
|
|
6126 if (type.IsGenericType)
|
|
6127 {
|
|
6128 if (p is Boolean?) return ToNullableUInt64((Boolean?) p);
|
|
6129 if (p is Byte?) return ToNullableUInt64((Byte?) p);
|
|
6130 if (p is Char?) return ToNullableUInt64((Char?) p);
|
|
6131 if (p is Decimal?) return ToNullableUInt64((Decimal?) p);
|
|
6132 if (p is Double?) return ToNullableUInt64((Double?) p);
|
|
6133 if (p is Int16?) return ToNullableUInt64((Int16?) p);
|
|
6134 if (p is Int32?) return ToNullableUInt64((Int32?) p);
|
|
6135 if (p is Int64?) return ToNullableUInt64((Int64?) p);
|
|
6136 if (p is SByte?) return ToNullableUInt64((SByte?) p);
|
|
6137 if (p is Single?) return ToNullableUInt64((Single?) p);
|
|
6138 if (p is UInt16?) return ToNullableUInt64((UInt16?) p);
|
|
6139 if (p is UInt32?) return ToNullableUInt64((UInt32?) p);
|
|
6140 }
|
|
6141
|
|
6142 // Other Types
|
|
6143 //
|
|
6144 if (p is Binary) return ToNullableUInt64((Binary) p);
|
|
6145 if (p is Byte[]) return ToNullableUInt64((Byte[]) p);
|
|
6146
|
|
6147 #if !SILVERLIGHT
|
|
6148
|
|
6149 // Sql Types
|
|
6150 //
|
|
6151 if (p is INullable)
|
|
6152 {
|
|
6153 if (p is SqlBoolean) return ToNullableUInt64((SqlBoolean)p);
|
|
6154 if (p is SqlByte) return ToNullableUInt64((SqlByte) p);
|
|
6155 if (p is SqlDecimal) return ToNullableUInt64((SqlDecimal)p);
|
|
6156 if (p is SqlDouble) return ToNullableUInt64((SqlDouble) p);
|
|
6157 if (p is SqlInt16) return ToNullableUInt64((SqlInt16) p);
|
|
6158 if (p is SqlInt32) return ToNullableUInt64((SqlInt32) p);
|
|
6159 if (p is SqlInt64) return ToNullableUInt64((SqlInt64) p);
|
|
6160 if (p is SqlMoney) return ToNullableUInt64((SqlMoney) p);
|
|
6161 if (p is SqlSingle) return ToNullableUInt64((SqlSingle) p);
|
|
6162 if (p is SqlString) return ToNullableUInt64((SqlString) p);
|
|
6163 }
|
|
6164
|
|
6165 #endif
|
|
6166
|
|
6167 throw CreateInvalidCastException(p.GetType(), typeof(UInt64?));
|
|
6168 }
|
|
6169
|
|
6170 #endregion
|
|
6171
|
|
6172 #endregion
|
|
6173
|
|
6174 #region Sql Types
|
|
6175
|
|
6176 #region SqlBinary
|
|
6177
|
|
6178 #if !SILVERLIGHT
|
|
6179
|
|
6180 // Simple Types
|
|
6181 //
|
|
6182 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>SqlBinary</c> value.</summary>
|
|
6183 public static SqlBinary ToSqlBinary(Guid p) { return p == Guid.Empty? SqlBinary.Null : new SqlGuid(p).ToSqlBinary(); }
|
|
6184
|
|
6185 // Nullable Types
|
|
6186 //
|
|
6187 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>SqlBinary</c> value.</summary>
|
|
6188 public static SqlBinary ToSqlBinary(Guid? p) { return p.HasValue ? new SqlGuid(p.Value).ToSqlBinary(): SqlBinary.Null; }
|
|
6189
|
|
6190 // Sql Types
|
|
6191 //
|
|
6192 /// <summary>Converts the value from <c>SqlBytes</c> to an equivalent <c>SqlBinary</c> value.</summary>
|
|
6193 public static SqlBinary ToSqlBinary(SqlBytes p) { return p.ToSqlBinary(); }
|
|
6194 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>SqlBinary</c> value.</summary>
|
|
6195 public static SqlBinary ToSqlBinary(SqlGuid p) { return p.ToSqlBinary(); }
|
|
6196
|
|
6197 // Other Types
|
|
6198 //
|
|
6199 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlBinary</c> value.</summary>
|
|
6200 public static SqlBinary ToSqlBinary(Binary p) { return p == null ? SqlBinary.Null : p.ToArray(); }
|
|
6201 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlBinary</c> value.</summary>
|
|
6202 public static SqlBinary ToSqlBinary(Byte[] p) { return p; }
|
|
6203
|
|
6204 // From Object
|
|
6205 //
|
|
6206 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlBinary</c> value.</summary>
|
|
6207 public static SqlBinary ToSqlBinary(object p)
|
|
6208 {
|
|
6209 if (p == null || p is DBNull) return SqlBinary.Null;
|
|
6210
|
|
6211 if (p is SqlBinary) return (SqlBinary)p;
|
|
6212
|
|
6213 // Simple Types
|
|
6214 //
|
|
6215 if (p is Guid) return ToSqlBinary((Guid) p);
|
|
6216
|
|
6217 // Nullable Types
|
|
6218 //
|
|
6219 var type = p.GetType();
|
|
6220
|
|
6221 if (type.IsGenericType)
|
|
6222 {
|
|
6223 if (p is Guid?) return ToSqlBinary((Guid?) p);
|
|
6224 }
|
|
6225
|
|
6226 // Sql Types
|
|
6227 //
|
|
6228 if (p is INullable)
|
|
6229 {
|
|
6230 if (p is SqlBytes) return ToSqlBinary((SqlBytes)p);
|
|
6231 if (p is SqlGuid) return ToSqlBinary((SqlGuid) p);
|
|
6232 }
|
|
6233
|
|
6234 // Other Types
|
|
6235 //
|
|
6236 if (p is Binary) return ToSqlBinary((Binary) p);
|
|
6237 if (p is Byte[]) return ToSqlBinary((Byte[]) p);
|
|
6238
|
|
6239 throw CreateInvalidCastException(p.GetType(), typeof(SqlBinary));
|
|
6240 }
|
|
6241
|
|
6242 #endif
|
|
6243
|
|
6244 #endregion
|
|
6245
|
|
6246 #region SqlBoolean
|
|
6247
|
|
6248 #if !SILVERLIGHT
|
|
6249
|
|
6250 // Simple Types
|
|
6251 //
|
|
6252 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6253 public static SqlBoolean ToSqlBoolean(Boolean p) { return p; }
|
|
6254 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6255 public static SqlBoolean ToSqlBoolean(Byte p) { return p != 0; }
|
|
6256 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6257 public static SqlBoolean ToSqlBoolean(Char p) { return ToBoolean(p); }
|
|
6258 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6259 public static SqlBoolean ToSqlBoolean(Decimal p) { return p != 0; }
|
|
6260 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6261 public static SqlBoolean ToSqlBoolean(Double p) { return p != 0; }
|
|
6262 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6263 public static SqlBoolean ToSqlBoolean(Int16 p) { return p != 0; }
|
|
6264 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6265 public static SqlBoolean ToSqlBoolean(Int32 p) { return p != 0; }
|
|
6266 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6267 public static SqlBoolean ToSqlBoolean(Int64 p) { return p != 0; }
|
|
6268 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6269 [CLSCompliant(false)]
|
|
6270 public static SqlBoolean ToSqlBoolean(SByte p) { return p != 0; }
|
|
6271 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6272 public static SqlBoolean ToSqlBoolean(Single p) { return p != 0; }
|
|
6273 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6274 public static SqlBoolean ToSqlBoolean(String p) { return p == null? SqlBoolean.Null : p.Length == 1 ? ToBoolean(p[0]) : Boolean.Parse(p); }
|
|
6275 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6276 [CLSCompliant(false)]
|
|
6277 public static SqlBoolean ToSqlBoolean(UInt16 p) { return p != 0; }
|
|
6278 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6279 [CLSCompliant(false)]
|
|
6280 public static SqlBoolean ToSqlBoolean(UInt32 p) { return p != 0; }
|
|
6281 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6282 [CLSCompliant(false)]
|
|
6283 public static SqlBoolean ToSqlBoolean(UInt64 p) { return p != 0; }
|
|
6284
|
|
6285 // Nullable Types
|
|
6286 //
|
|
6287 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6288 public static SqlBoolean ToSqlBoolean(Boolean? p) { return p.HasValue ? p.Value : SqlBoolean.Null; }
|
|
6289 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6290 public static SqlBoolean ToSqlBoolean(Byte? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6291 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6292 public static SqlBoolean ToSqlBoolean(Char? p) { return p.HasValue && ToBoolean(p.Value); }
|
|
6293 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6294 public static SqlBoolean ToSqlBoolean(Decimal? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6295 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6296 public static SqlBoolean ToSqlBoolean(Double? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6297 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6298 public static SqlBoolean ToSqlBoolean(Int16? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6299 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6300 public static SqlBoolean ToSqlBoolean(Int32? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6301 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6302 public static SqlBoolean ToSqlBoolean(Int64? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6303 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6304 [CLSCompliant(false)]
|
|
6305 public static SqlBoolean ToSqlBoolean(SByte? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6306 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6307 public static SqlBoolean ToSqlBoolean(Single? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6308 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6309 [CLSCompliant(false)]
|
|
6310 public static SqlBoolean ToSqlBoolean(UInt16? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6311 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6312 [CLSCompliant(false)]
|
|
6313 public static SqlBoolean ToSqlBoolean(UInt32? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6314 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6315 [CLSCompliant(false)]
|
|
6316 public static SqlBoolean ToSqlBoolean(UInt64? p) { return p.HasValue ? p.Value != 0 : SqlBoolean.Null; }
|
|
6317
|
|
6318 // Sql Types
|
|
6319 //
|
|
6320 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6321 public static SqlBoolean ToSqlBoolean(SqlByte p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6322 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6323 public static SqlBoolean ToSqlBoolean(SqlDecimal p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6324 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6325 public static SqlBoolean ToSqlBoolean(SqlDouble p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6326 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6327 public static SqlBoolean ToSqlBoolean(SqlInt16 p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6328 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6329 public static SqlBoolean ToSqlBoolean(SqlInt32 p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6330 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6331 public static SqlBoolean ToSqlBoolean(SqlInt64 p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6332 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6333 public static SqlBoolean ToSqlBoolean(SqlMoney p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6334 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6335 public static SqlBoolean ToSqlBoolean(SqlSingle p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6336 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6337 public static SqlBoolean ToSqlBoolean(SqlString p) { return p.IsNull ? SqlBoolean.Null : ToBoolean(p.Value); }
|
|
6338
|
|
6339 // Other Types
|
|
6340 //
|
|
6341 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6342 public static SqlBoolean ToSqlBoolean(Binary p) { return p == null || p.Length == 0 ? SqlBoolean.Null : BitConverter.ToBoolean(p.ToArray(), 0); }
|
|
6343 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6344 public static SqlBoolean ToSqlBoolean(Byte[] p) { return p == null || p.Length == 0 ? SqlBoolean.Null : BitConverter.ToBoolean(p, 0); }
|
|
6345
|
|
6346 // From Object
|
|
6347 //
|
|
6348 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlBoolean</c> value.</summary>
|
|
6349 public static SqlBoolean ToSqlBoolean(object p)
|
|
6350 {
|
|
6351 if (p == null) return SqlBoolean.Null;
|
|
6352
|
|
6353 if (p is SqlBoolean) return (SqlBoolean)p;
|
|
6354
|
|
6355 var type = p.GetType();
|
|
6356
|
|
6357 // Primitive types
|
|
6358 //
|
|
6359 switch (Type.GetTypeCode(type))
|
|
6360 {
|
|
6361 case TypeCode.DBNull : return SqlBoolean.Null;
|
|
6362 case TypeCode.String : return ToSqlBoolean((String) p);
|
|
6363 case TypeCode.Boolean : return ToSqlBoolean((Boolean) p);
|
|
6364 case TypeCode.Char : return ToSqlBoolean((Char) p);
|
|
6365 case TypeCode.SByte : return ToSqlBoolean((SByte) p);
|
|
6366 case TypeCode.Int16 : return ToSqlBoolean((Int16) p);
|
|
6367 case TypeCode.Int32 : return ToSqlBoolean((Int32) p);
|
|
6368 case TypeCode.Int64 : return ToSqlBoolean((Int64) p);
|
|
6369 case TypeCode.Byte : return ToSqlBoolean((Byte) p);
|
|
6370 case TypeCode.UInt16 : return ToSqlBoolean((UInt16) p);
|
|
6371 case TypeCode.UInt32 : return ToSqlBoolean((UInt32) p);
|
|
6372 case TypeCode.UInt64 : return ToSqlBoolean((UInt64) p);
|
|
6373 case TypeCode.Single : return ToSqlBoolean((Single) p);
|
|
6374 case TypeCode.Double : return ToSqlBoolean((Double) p);
|
|
6375 case TypeCode.Decimal : return ToSqlBoolean((Decimal) p);
|
|
6376 }
|
|
6377
|
|
6378 // Nullable Types
|
|
6379 //
|
|
6380 if (type.IsGenericType)
|
|
6381 {
|
|
6382 if (p is Boolean?) return ToSqlBoolean((Boolean?) p);
|
|
6383 if (p is Byte?) return ToSqlBoolean((Byte?) p);
|
|
6384 if (p is Char?) return ToSqlBoolean((Char?) p);
|
|
6385 if (p is Decimal?) return ToSqlBoolean((Decimal?) p);
|
|
6386 if (p is Double?) return ToSqlBoolean((Double?) p);
|
|
6387 if (p is Int16?) return ToSqlBoolean((Int16?) p);
|
|
6388 if (p is Int32?) return ToSqlBoolean((Int32?) p);
|
|
6389 if (p is Int64?) return ToSqlBoolean((Int64?) p);
|
|
6390 if (p is SByte?) return ToSqlBoolean((SByte?) p);
|
|
6391 if (p is Single?) return ToSqlBoolean((Single?) p);
|
|
6392 if (p is UInt16?) return ToSqlBoolean((UInt16?) p);
|
|
6393 if (p is UInt32?) return ToSqlBoolean((UInt32?) p);
|
|
6394 if (p is UInt64?) return ToSqlBoolean((UInt64?) p);
|
|
6395 }
|
|
6396
|
|
6397 // Sql Types
|
|
6398 //
|
|
6399 if (p is INullable)
|
|
6400 {
|
|
6401 if (p is SqlByte) return ToSqlBoolean((SqlByte) p);
|
|
6402 if (p is SqlDecimal) return ToSqlBoolean((SqlDecimal)p);
|
|
6403 if (p is SqlDouble) return ToSqlBoolean((SqlDouble) p);
|
|
6404 if (p is SqlInt16) return ToSqlBoolean((SqlInt16) p);
|
|
6405 if (p is SqlInt32) return ToSqlBoolean((SqlInt32) p);
|
|
6406 if (p is SqlInt64) return ToSqlBoolean((SqlInt64) p);
|
|
6407 if (p is SqlMoney) return ToSqlBoolean((SqlMoney) p);
|
|
6408 if (p is SqlSingle) return ToSqlBoolean((SqlSingle) p);
|
|
6409 if (p is SqlString) return ToSqlBoolean((SqlString) p);
|
|
6410 }
|
|
6411
|
|
6412 // Other Types
|
|
6413 //
|
|
6414 if (p is Binary) return ToSqlBoolean((Binary) p);
|
|
6415 if (p is Byte[]) return ToSqlBoolean((Byte[]) p);
|
|
6416
|
|
6417 throw CreateInvalidCastException(p.GetType(), typeof(SqlBoolean));
|
|
6418 }
|
|
6419
|
|
6420 #endif
|
|
6421
|
|
6422 #endregion
|
|
6423
|
|
6424 #region SqlByte
|
|
6425
|
|
6426 #if !SILVERLIGHT
|
|
6427
|
|
6428 // Simple Types
|
|
6429 //
|
|
6430 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6431 public static SqlByte ToSqlByte(Boolean p) { return p ? (SqlByte)1 : (SqlByte)0; }
|
|
6432 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6433 public static SqlByte ToSqlByte(Byte p) { return p; }
|
|
6434 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6435 public static SqlByte ToSqlByte(Char p) { return checked((Byte)p); }
|
|
6436 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6437 public static SqlByte ToSqlByte(Decimal p) { return checked((Byte)p); }
|
|
6438 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6439 public static SqlByte ToSqlByte(Double p) { return checked((Byte)p); }
|
|
6440 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6441 public static SqlByte ToSqlByte(Int16 p) { return checked((Byte)p); }
|
|
6442 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6443 public static SqlByte ToSqlByte(Int32 p) { return checked((Byte)p); }
|
|
6444 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6445 public static SqlByte ToSqlByte(Int64 p) { return checked((Byte)p); }
|
|
6446 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6447 [CLSCompliant(false)]
|
|
6448 public static SqlByte ToSqlByte(SByte p) { return checked((Byte)p); }
|
|
6449 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6450 public static SqlByte ToSqlByte(Single p) { return checked((Byte)p); }
|
|
6451 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6452 public static SqlByte ToSqlByte(String p) { return p == null? SqlByte.Null : Byte.Parse(p); }
|
|
6453 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6454 [CLSCompliant(false)]
|
|
6455 public static SqlByte ToSqlByte(UInt16 p) { return checked((Byte)p); }
|
|
6456 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6457 [CLSCompliant(false)]
|
|
6458 public static SqlByte ToSqlByte(UInt32 p) { return checked((Byte)p); }
|
|
6459 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6460 [CLSCompliant(false)]
|
|
6461 public static SqlByte ToSqlByte(UInt64 p) { return checked((Byte)p); }
|
|
6462
|
|
6463 // Nullable Types
|
|
6464 //
|
|
6465 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6466 public static SqlByte ToSqlByte(Boolean? p) { return p.HasValue && p.Value ? (SqlByte)1: (SqlByte)0; }
|
|
6467 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6468 public static SqlByte ToSqlByte(Byte? p) { return p.HasValue ? p.Value : SqlByte.Null; }
|
|
6469 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6470 public static SqlByte ToSqlByte(Char? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6471 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6472 public static SqlByte ToSqlByte(Decimal? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6473 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6474 public static SqlByte ToSqlByte(Double? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6475 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6476 public static SqlByte ToSqlByte(Int16? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6477 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6478 public static SqlByte ToSqlByte(Int32? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6479 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6480 public static SqlByte ToSqlByte(Int64? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6481 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6482 [CLSCompliant(false)]
|
|
6483 public static SqlByte ToSqlByte(SByte? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6484 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6485 public static SqlByte ToSqlByte(Single? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6486 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6487 [CLSCompliant(false)]
|
|
6488 public static SqlByte ToSqlByte(UInt16? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6489 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6490 [CLSCompliant(false)]
|
|
6491 public static SqlByte ToSqlByte(UInt32? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6492 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6493 [CLSCompliant(false)]
|
|
6494 public static SqlByte ToSqlByte(UInt64? p) { return p.HasValue ? checked((Byte)p.Value) : SqlByte.Null; }
|
|
6495
|
|
6496 // Sql Types
|
|
6497 //
|
|
6498 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6499 public static SqlByte ToSqlByte(SqlBoolean p) { return p.ToSqlByte(); }
|
|
6500 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6501 public static SqlByte ToSqlByte(SqlDecimal p) { return p.ToSqlByte(); }
|
|
6502 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6503 public static SqlByte ToSqlByte(SqlDouble p) { return p.ToSqlByte(); }
|
|
6504 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6505 public static SqlByte ToSqlByte(SqlInt16 p) { return p.ToSqlByte(); }
|
|
6506 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6507 public static SqlByte ToSqlByte(SqlInt32 p) { return p.ToSqlByte(); }
|
|
6508 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6509 public static SqlByte ToSqlByte(SqlInt64 p) { return p.ToSqlByte(); }
|
|
6510 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6511 public static SqlByte ToSqlByte(SqlMoney p) { return p.ToSqlByte(); }
|
|
6512 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6513 public static SqlByte ToSqlByte(SqlSingle p) { return p.ToSqlByte(); }
|
|
6514 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6515 public static SqlByte ToSqlByte(SqlString p) { return p.ToSqlByte(); }
|
|
6516
|
|
6517 // Other Types
|
|
6518 //
|
|
6519 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6520 public static SqlByte ToSqlByte(Binary p) { return p == null || p.Length == 0 ? SqlByte.Null : p.ToArray()[0]; }
|
|
6521 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6522 public static SqlByte ToSqlByte(Byte[] p) { return p == null || p.Length == 0 ? SqlByte.Null : p[0]; }
|
|
6523
|
|
6524 // From Object
|
|
6525 //
|
|
6526 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlByte</c> value.</summary>
|
|
6527 public static SqlByte ToSqlByte(object p)
|
|
6528 {
|
|
6529 if (p == null) return SqlByte.Null;
|
|
6530
|
|
6531 if (p is SqlByte) return (SqlByte)p;
|
|
6532
|
|
6533 var type = p.GetType();
|
|
6534
|
|
6535 // Primitive types
|
|
6536 //
|
|
6537 switch (Type.GetTypeCode(type))
|
|
6538 {
|
|
6539 case TypeCode.DBNull : return SqlByte.Null;
|
|
6540 case TypeCode.Byte : return ToSqlByte((Byte) p);
|
|
6541 case TypeCode.SByte : return ToSqlByte((SByte) p);
|
|
6542 case TypeCode.Int16 : return ToSqlByte((Int16) p);
|
|
6543 case TypeCode.Int32 : return ToSqlByte((Int32) p);
|
|
6544 case TypeCode.Int64 : return ToSqlByte((Int64) p);
|
|
6545 case TypeCode.UInt16 : return ToSqlByte((UInt16) p);
|
|
6546 case TypeCode.UInt32 : return ToSqlByte((UInt32) p);
|
|
6547 case TypeCode.UInt64 : return ToSqlByte((UInt64) p);
|
|
6548 case TypeCode.Single : return ToSqlByte((Single) p);
|
|
6549 case TypeCode.Double : return ToSqlByte((Double) p);
|
|
6550 case TypeCode.Decimal : return ToSqlByte((Decimal)p);
|
|
6551 case TypeCode.Char : return ToSqlByte((Char) p);
|
|
6552 case TypeCode.String : return ToSqlByte((String) p);
|
|
6553 case TypeCode.Boolean : return ToSqlByte((Boolean)p);
|
|
6554 }
|
|
6555
|
|
6556 // Nullable Types
|
|
6557 //
|
|
6558 if (type.IsGenericType)
|
|
6559 {
|
|
6560 if (p is Boolean?) return ToSqlByte((Boolean?) p);
|
|
6561 if (p is Byte?) return ToSqlByte((Byte?) p);
|
|
6562 if (p is Char?) return ToSqlByte((Char?) p);
|
|
6563 if (p is Decimal?) return ToSqlByte((Decimal?) p);
|
|
6564 if (p is Double?) return ToSqlByte((Double?) p);
|
|
6565 if (p is Int16?) return ToSqlByte((Int16?) p);
|
|
6566 if (p is Int32?) return ToSqlByte((Int32?) p);
|
|
6567 if (p is Int64?) return ToSqlByte((Int64?) p);
|
|
6568 if (p is SByte?) return ToSqlByte((SByte?) p);
|
|
6569 if (p is Single?) return ToSqlByte((Single?) p);
|
|
6570 if (p is UInt16?) return ToSqlByte((UInt16?) p);
|
|
6571 if (p is UInt32?) return ToSqlByte((UInt32?) p);
|
|
6572 if (p is UInt64?) return ToSqlByte((UInt64?) p);
|
|
6573 }
|
|
6574
|
|
6575 // Sql Types
|
|
6576 //
|
|
6577 if (p is INullable)
|
|
6578 {
|
|
6579 if (p is SqlBoolean) return ToSqlByte((SqlBoolean)p);
|
|
6580 if (p is SqlDecimal) return ToSqlByte((SqlDecimal)p);
|
|
6581 if (p is SqlDouble) return ToSqlByte((SqlDouble) p);
|
|
6582 if (p is SqlInt16) return ToSqlByte((SqlInt16) p);
|
|
6583 if (p is SqlInt32) return ToSqlByte((SqlInt32) p);
|
|
6584 if (p is SqlInt64) return ToSqlByte((SqlInt64) p);
|
|
6585 if (p is SqlMoney) return ToSqlByte((SqlMoney) p);
|
|
6586 if (p is SqlSingle) return ToSqlByte((SqlSingle) p);
|
|
6587 if (p is SqlString) return ToSqlByte((SqlString) p);
|
|
6588 }
|
|
6589
|
|
6590 // Other Types
|
|
6591 //
|
|
6592 if (p is Binary) return ToSqlByte((Binary) p);
|
|
6593 if (p is Byte[]) return ToSqlByte((Byte[]) p);
|
|
6594
|
|
6595 throw CreateInvalidCastException(p.GetType(), typeof(SqlByte));
|
|
6596 }
|
|
6597
|
|
6598 #endif
|
|
6599
|
|
6600 #endregion
|
|
6601
|
|
6602 #region SqlBytes
|
|
6603
|
|
6604 #if !SILVERLIGHT
|
|
6605
|
|
6606 // Simple Types
|
|
6607 //
|
|
6608 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6609 public static SqlBytes ToSqlBytes(Boolean p) { return new SqlBytes(ToByteArray(p)); }
|
|
6610 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6611 public static SqlBytes ToSqlBytes(Byte p) { return new SqlBytes(ToByteArray(p)); }
|
|
6612 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6613 public static SqlBytes ToSqlBytes(Char p) { return new SqlBytes(ToByteArray(p)); }
|
|
6614 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6615 public static SqlBytes ToSqlBytes(DateTime p) { return new SqlBytes(ToByteArray(p)); }
|
|
6616 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6617 public static SqlBytes ToSqlBytes(DateTimeOffset p) { return new SqlBytes(ToByteArray(p)); }
|
|
6618 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6619 public static SqlBytes ToSqlBytes(Double p) { return new SqlBytes(ToByteArray(p)); }
|
|
6620 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6621 public static SqlBytes ToSqlBytes(Guid p) { return p == Guid.Empty ? SqlBytes.Null: new SqlBytes(p.ToByteArray()); }
|
|
6622 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6623 public static SqlBytes ToSqlBytes(Int16 p) { return new SqlBytes(ToByteArray(p)); }
|
|
6624 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6625 public static SqlBytes ToSqlBytes(Int32 p) { return new SqlBytes(ToByteArray(p)); }
|
|
6626 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6627 public static SqlBytes ToSqlBytes(Int64 p) { return new SqlBytes(ToByteArray(p)); }
|
|
6628 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6629 [CLSCompliant(false)]
|
|
6630 public static SqlBytes ToSqlBytes(SByte p) { return new SqlBytes(ToByteArray(p)); }
|
|
6631 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6632 public static SqlBytes ToSqlBytes(Single p) { return new SqlBytes(ToByteArray(p)); }
|
|
6633 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6634 public static SqlBytes ToSqlBytes(String p) { return p == null ? SqlBytes.Null : new SqlBytes(ToByteArray(p)); }
|
|
6635 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6636 public static SqlBytes ToSqlBytes(TimeSpan p) { return new SqlBytes(ToByteArray(p)); }
|
|
6637 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6638 [CLSCompliant(false)]
|
|
6639 public static SqlBytes ToSqlBytes(UInt16 p) { return new SqlBytes(ToByteArray(p)); }
|
|
6640 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6641 [CLSCompliant(false)]
|
|
6642 public static SqlBytes ToSqlBytes(UInt32 p) { return new SqlBytes(ToByteArray(p)); }
|
|
6643 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6644 [CLSCompliant(false)]
|
|
6645 public static SqlBytes ToSqlBytes(UInt64 p) { return new SqlBytes(ToByteArray(p)); }
|
|
6646
|
|
6647 // Nullable Types
|
|
6648 //
|
|
6649 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6650 public static SqlBytes ToSqlBytes(Boolean? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6651 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6652 public static SqlBytes ToSqlBytes(Byte? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6653 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6654 public static SqlBytes ToSqlBytes(Char? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6655 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6656 public static SqlBytes ToSqlBytes(DateTime? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6657 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6658 public static SqlBytes ToSqlBytes(DateTimeOffset? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6659 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6660 public static SqlBytes ToSqlBytes(Decimal? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6661 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6662 public static SqlBytes ToSqlBytes(Double? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6663 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6664 public static SqlBytes ToSqlBytes(Guid? p) { return p.HasValue ? new SqlBytes(p.Value.ToByteArray()) : SqlBytes.Null; }
|
|
6665 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6666 public static SqlBytes ToSqlBytes(Int16? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6667 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6668 public static SqlBytes ToSqlBytes(Int32? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6669 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6670 public static SqlBytes ToSqlBytes(Int64? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6671 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6672 [CLSCompliant(false)]
|
|
6673 public static SqlBytes ToSqlBytes(SByte? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6674 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6675 public static SqlBytes ToSqlBytes(Single? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6676 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6677 public static SqlBytes ToSqlBytes(TimeSpan? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6678 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6679 [CLSCompliant(false)]
|
|
6680 public static SqlBytes ToSqlBytes(UInt16? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6681 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6682 [CLSCompliant(false)]
|
|
6683 public static SqlBytes ToSqlBytes(UInt32? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6684 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6685 [CLSCompliant(false)]
|
|
6686 public static SqlBytes ToSqlBytes(UInt64? p) { return p.HasValue ? ToSqlBytes(p.Value) : SqlBytes.Null; }
|
|
6687
|
|
6688 // Sql Types
|
|
6689 //
|
|
6690 /// <summary>Converts the value from <c>SqlBinary</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6691 public static SqlBytes ToSqlBytes(SqlBinary p) { return p.IsNull ? SqlBytes.Null : new SqlBytes(p); }
|
|
6692 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6693 public static SqlBytes ToSqlBytes(SqlGuid p) { return p.IsNull ? SqlBytes.Null : new SqlBytes(p.ToByteArray()); }
|
|
6694
|
|
6695 // Other Types
|
|
6696 //
|
|
6697 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6698 public static SqlBytes ToSqlBytes(Binary p) { return p == null ? SqlBytes.Null : new SqlBytes(p.ToArray()); }
|
|
6699 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6700 public static SqlBytes ToSqlBytes(Byte[] p) { return p == null ? SqlBytes.Null : new SqlBytes(p); }
|
|
6701 /// <summary>Converts the value from <c>Stream</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6702 public static SqlBytes ToSqlBytes(Stream p) { return p == null ? SqlBytes.Null : new SqlBytes(p); }
|
|
6703
|
|
6704 // From Object
|
|
6705 //
|
|
6706 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlBytes</c> value.</summary>
|
|
6707 public static SqlBytes ToSqlBytes(object p)
|
|
6708 {
|
|
6709 if (p == null) return SqlBytes.Null;
|
|
6710
|
|
6711 if (p is SqlBytes) return (SqlBytes)p;
|
|
6712
|
|
6713 var type = p.GetType();
|
|
6714
|
|
6715 // Primitive types
|
|
6716 //
|
|
6717 switch (Type.GetTypeCode(type))
|
|
6718 {
|
|
6719 case TypeCode.DBNull : return SqlBytes.Null;
|
|
6720 case TypeCode.String : return ToSqlBytes((String) p);
|
|
6721 case TypeCode.Byte : return ToSqlBytes((Byte) p);
|
|
6722 case TypeCode.SByte : return ToSqlBytes((SByte) p);
|
|
6723 case TypeCode.DateTime : return ToSqlBytes((DateTime)p);
|
|
6724 case TypeCode.Int16 : return ToSqlBytes((Int16) p);
|
|
6725 case TypeCode.Int32 : return ToSqlBytes((Int32) p);
|
|
6726 case TypeCode.Int64 : return ToSqlBytes((Int64) p);
|
|
6727 case TypeCode.UInt16 : return ToSqlBytes((UInt16) p);
|
|
6728 case TypeCode.UInt32 : return ToSqlBytes((UInt32) p);
|
|
6729 case TypeCode.UInt64 : return ToSqlBytes((UInt64) p);
|
|
6730 case TypeCode.Single : return ToSqlBytes((Single) p);
|
|
6731 case TypeCode.Double : return ToSqlBytes((Double) p);
|
|
6732 case TypeCode.Boolean : return ToSqlBytes((Boolean) p);
|
|
6733 case TypeCode.Char : return ToSqlBytes((Char) p);
|
|
6734 }
|
|
6735
|
|
6736 // Simple Types
|
|
6737 //
|
|
6738 if (p is DateTimeOffset) return ToSqlBytes((DateTimeOffset) p);
|
|
6739 if (p is Guid) return ToSqlBytes((Guid) p);
|
|
6740 if (p is TimeSpan) return ToSqlBytes((TimeSpan) p);
|
|
6741
|
|
6742 // Nullable Types
|
|
6743 //
|
|
6744 if (type.IsGenericType)
|
|
6745 {
|
|
6746 if (p is Boolean?) return ToSqlBytes((Boolean?) p);
|
|
6747 if (p is Byte?) return ToSqlBytes((Byte?) p);
|
|
6748 if (p is Char?) return ToSqlBytes((Char?) p);
|
|
6749 if (p is DateTime?) return ToSqlBytes((DateTime?) p);
|
|
6750 if (p is DateTimeOffset?) return ToSqlBytes((DateTimeOffset?)p);
|
|
6751 if (p is Decimal?) return ToSqlBytes((Decimal?) p);
|
|
6752 if (p is Double?) return ToSqlBytes((Double?) p);
|
|
6753 if (p is Guid?) return ToSqlBytes((Guid?) p);
|
|
6754 if (p is Int16?) return ToSqlBytes((Int16?) p);
|
|
6755 if (p is Int32?) return ToSqlBytes((Int32?) p);
|
|
6756 if (p is Int64?) return ToSqlBytes((Int64?) p);
|
|
6757 if (p is SByte?) return ToSqlBytes((SByte?) p);
|
|
6758 if (p is Single?) return ToSqlBytes((Single?) p);
|
|
6759 if (p is TimeSpan?) return ToSqlBytes((TimeSpan?) p);
|
|
6760 if (p is UInt16?) return ToSqlBytes((UInt16?) p);
|
|
6761 if (p is UInt32?) return ToSqlBytes((UInt32?) p);
|
|
6762 if (p is UInt64?) return ToSqlBytes((UInt64?) p);
|
|
6763 }
|
|
6764
|
|
6765 // Sql Types
|
|
6766 //
|
|
6767 if (p is INullable)
|
|
6768 {
|
|
6769 if (p is SqlBinary) return ToSqlBytes((SqlBinary) p);
|
|
6770 if (p is SqlGuid) return ToSqlBytes((SqlGuid) p);
|
|
6771 }
|
|
6772
|
|
6773 // Other Types
|
|
6774 //
|
|
6775 if (p is Binary) return ToSqlBytes((Binary) p);
|
|
6776 if (p is Byte[]) return ToSqlBytes((Byte[]) p);
|
|
6777 if (p is Stream) return ToSqlBytes((Stream) p);
|
|
6778
|
|
6779 throw CreateInvalidCastException(p.GetType(), typeof(SqlBytes));
|
|
6780 }
|
|
6781
|
|
6782 #endif
|
|
6783
|
|
6784 #endregion
|
|
6785
|
|
6786 #region SqlChars
|
|
6787
|
|
6788 #if !SILVERLIGHT
|
|
6789
|
|
6790 #endif
|
|
6791
|
|
6792 #endregion
|
|
6793
|
|
6794 #region SqlDateTime
|
|
6795
|
|
6796 #if !SILVERLIGHT
|
|
6797
|
|
6798 // Simple Types
|
|
6799 //
|
|
6800 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6801 public static SqlDateTime ToSqlDateTime(DateTime p) { return p; }
|
|
6802 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6803 public static SqlDateTime ToSqlDateTime(DateTimeOffset p) { return p.LocalDateTime; }
|
|
6804 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6805 public static SqlDateTime ToSqlDateTime(Double p) { return DateTime.MinValue + TimeSpan.FromDays (p); }
|
|
6806 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6807 public static SqlDateTime ToSqlDateTime(Int64 p) { return DateTime.MinValue + TimeSpan.FromTicks(p); }
|
|
6808 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6809 public static SqlDateTime ToSqlDateTime(String p) { return p == null ? SqlDateTime.Null : DateTime.Parse(p, null, DateTimeStyles.NoCurrentDateDefault); }
|
|
6810 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6811 public static SqlDateTime ToSqlDateTime(TimeSpan p) { return DateTime.MinValue + p; }
|
|
6812
|
|
6813 // Nullable Types
|
|
6814 //
|
|
6815 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6816 public static SqlDateTime ToSqlDateTime(DateTime? p) { return p.HasValue ? p.Value : SqlDateTime.Null; }
|
|
6817 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6818 public static SqlDateTime ToSqlDateTime(DateTimeOffset? p) { return p.HasValue ? p.Value.LocalDateTime : SqlDateTime.Null; }
|
|
6819 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6820 public static SqlDateTime ToSqlDateTime(Double? p) { return p.HasValue ? DateTime.MinValue + TimeSpan.FromDays (p.Value): SqlDateTime.Null; }
|
|
6821 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6822 public static SqlDateTime ToSqlDateTime(Int64? p) { return p.HasValue ? DateTime.MinValue + TimeSpan.FromTicks(p.Value): SqlDateTime.Null; }
|
|
6823 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6824 public static SqlDateTime ToSqlDateTime(TimeSpan? p) { return p.HasValue ? DateTime.MinValue + p.Value : SqlDateTime.Null; }
|
|
6825
|
|
6826 // Sql Types
|
|
6827 //
|
|
6828 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6829 public static SqlDateTime ToSqlDateTime(SqlDouble p) { return p.IsNull ? SqlDateTime.Null : DateTime.MinValue + TimeSpan.FromDays (p.Value); }
|
|
6830 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6831 public static SqlDateTime ToSqlDateTime(SqlInt64 p) { return p.IsNull ? SqlDateTime.Null : DateTime.MinValue + TimeSpan.FromTicks(p.Value); }
|
|
6832 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6833 public static SqlDateTime ToSqlDateTime(SqlString p) { return p.IsNull ? SqlDateTime.Null : ToDateTime(p.Value); }
|
|
6834
|
|
6835 // Other Types
|
|
6836 //
|
|
6837 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6838 public static SqlDateTime ToSqlDateTime(Binary p) { return p == null || p.Length == 0 ? SqlDateTime.Null : DateTime.FromBinary(ToInt64(p.ToArray())); }
|
|
6839 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6840 public static SqlDateTime ToSqlDateTime(Byte[] p) { return p == null || p.Length == 0 ? SqlDateTime.Null : DateTime.FromBinary(ToInt64(p)); }
|
|
6841
|
|
6842 // From Object
|
|
6843 //
|
|
6844 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlDateTime</c> value.</summary>
|
|
6845 public static SqlDateTime ToSqlDateTime(object p)
|
|
6846 {
|
|
6847 if (p == null) return SqlDateTime.Null;
|
|
6848
|
|
6849 if (p is SqlDateTime) return (SqlDateTime)p;
|
|
6850
|
|
6851 var type = p.GetType();
|
|
6852
|
|
6853 // Primitive types
|
|
6854 //
|
|
6855 switch (Type.GetTypeCode(type))
|
|
6856 {
|
|
6857 case TypeCode.DBNull : return SqlDateTime.Null;
|
|
6858 case TypeCode.DateTime : return ToSqlDateTime((DateTime) p);
|
|
6859 case TypeCode.String : return ToSqlDateTime((String) p);
|
|
6860 case TypeCode.Int64 : return ToSqlDateTime((Int64) p);
|
|
6861 case TypeCode.Double : return ToSqlDateTime((Double) p);
|
|
6862 }
|
|
6863
|
|
6864 // Simple Types
|
|
6865 //
|
|
6866 if (p is DateTimeOffset) return ToSqlDateTime((DateTimeOffset) p);
|
|
6867 if (p is TimeSpan) return ToSqlDateTime((TimeSpan) p);
|
|
6868
|
|
6869 // Nullable Types
|
|
6870 //
|
|
6871 if (type.IsGenericType)
|
|
6872 {
|
|
6873 if (p is DateTime?) return ToSqlDateTime((DateTime?) p);
|
|
6874 if (p is DateTimeOffset?) return ToSqlDateTime((DateTimeOffset?)p);
|
|
6875 if (p is Double?) return ToSqlDateTime((Double?) p);
|
|
6876 if (p is Int64?) return ToSqlDateTime((Int64?) p);
|
|
6877 if (p is TimeSpan?) return ToSqlDateTime((TimeSpan?) p);
|
|
6878 }
|
|
6879
|
|
6880 // Sql Types
|
|
6881 //
|
|
6882 if (p is INullable)
|
|
6883 {
|
|
6884 if (p is SqlDouble) return ToSqlDateTime((SqlDouble) p);
|
|
6885 if (p is SqlInt64) return ToSqlDateTime((SqlInt64) p);
|
|
6886 if (p is SqlString) return ToSqlDateTime((SqlString) p);
|
|
6887 }
|
|
6888
|
|
6889 // Other Types
|
|
6890 //
|
|
6891 if (p is Binary) return ToSqlDateTime((Binary) p);
|
|
6892 if (p is Byte[]) return ToSqlDateTime((Byte[]) p);
|
|
6893
|
|
6894 throw CreateInvalidCastException(p.GetType(), typeof(SqlDateTime));
|
|
6895 }
|
|
6896
|
|
6897 #endif
|
|
6898
|
|
6899 #endregion
|
|
6900
|
|
6901 #region SqlDecimal
|
|
6902
|
|
6903 #if !SILVERLIGHT
|
|
6904
|
|
6905 // Simple Types
|
|
6906 //
|
|
6907 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6908 public static SqlDecimal ToSqlDecimal(Boolean p) { return p ? (SqlDecimal)1 : (SqlDecimal)0; }
|
|
6909 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6910 public static SqlDecimal ToSqlDecimal(Byte p) { return p; }
|
|
6911 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6912 public static SqlDecimal ToSqlDecimal(Char p) { return p; }
|
|
6913 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6914 public static SqlDecimal ToSqlDecimal(Decimal p) { return p; }
|
|
6915 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6916 public static SqlDecimal ToSqlDecimal(Double p) { return checked((Decimal)p); }
|
|
6917 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6918 public static SqlDecimal ToSqlDecimal(Int16 p) { return p; }
|
|
6919 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6920 public static SqlDecimal ToSqlDecimal(Int32 p) { return p; }
|
|
6921 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6922 public static SqlDecimal ToSqlDecimal(Int64 p) { return p; }
|
|
6923 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6924 [CLSCompliant(false)]
|
|
6925 public static SqlDecimal ToSqlDecimal(SByte p) { return p; }
|
|
6926 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6927 public static SqlDecimal ToSqlDecimal(Single p) { return checked((Decimal)p); }
|
|
6928 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6929 public static SqlDecimal ToSqlDecimal(String p) { return p == null? SqlDecimal.Null : Decimal.Parse(p); }
|
|
6930 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6931 [CLSCompliant(false)]
|
|
6932 public static SqlDecimal ToSqlDecimal(UInt16 p) { return p; }
|
|
6933 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6934 [CLSCompliant(false)]
|
|
6935 public static SqlDecimal ToSqlDecimal(UInt32 p) { return p; }
|
|
6936 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6937 [CLSCompliant(false)]
|
|
6938 public static SqlDecimal ToSqlDecimal(UInt64 p) { return p; }
|
|
6939
|
|
6940 // Nullable Types
|
|
6941 //
|
|
6942 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6943 public static SqlDecimal ToSqlDecimal(Boolean? p) { return p.HasValue && p.Value ? (SqlDecimal)1: (SqlDecimal)0; }
|
|
6944 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6945 public static SqlDecimal ToSqlDecimal(Byte? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6946 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6947 public static SqlDecimal ToSqlDecimal(Char? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6948 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6949 public static SqlDecimal ToSqlDecimal(Decimal? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6950 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6951 public static SqlDecimal ToSqlDecimal(Double? p) { return p.HasValue ? checked((Decimal)p.Value) : SqlDecimal.Null; }
|
|
6952 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6953 public static SqlDecimal ToSqlDecimal(Int16? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6954 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6955 public static SqlDecimal ToSqlDecimal(Int32? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6956 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6957 public static SqlDecimal ToSqlDecimal(Int64? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6958 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6959 [CLSCompliant(false)]
|
|
6960 public static SqlDecimal ToSqlDecimal(SByte? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6961 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6962 public static SqlDecimal ToSqlDecimal(Single? p) { return p.HasValue ? checked((Decimal)p.Value) : SqlDecimal.Null; }
|
|
6963 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6964 [CLSCompliant(false)]
|
|
6965 public static SqlDecimal ToSqlDecimal(UInt16? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6966 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6967 [CLSCompliant(false)]
|
|
6968 public static SqlDecimal ToSqlDecimal(UInt32? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6969 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6970 [CLSCompliant(false)]
|
|
6971 public static SqlDecimal ToSqlDecimal(UInt64? p) { return p.HasValue ? p.Value : SqlDecimal.Null; }
|
|
6972
|
|
6973 // Sql Types
|
|
6974 //
|
|
6975 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6976 public static SqlDecimal ToSqlDecimal(SqlBoolean p) { return p.ToSqlDecimal(); }
|
|
6977 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6978 public static SqlDecimal ToSqlDecimal(SqlByte p) { return p.ToSqlDecimal(); }
|
|
6979 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6980 public static SqlDecimal ToSqlDecimal(SqlDouble p) { return p.ToSqlDecimal(); }
|
|
6981 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6982 public static SqlDecimal ToSqlDecimal(SqlInt16 p) { return p.ToSqlDecimal(); }
|
|
6983 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6984 public static SqlDecimal ToSqlDecimal(SqlInt32 p) { return p.ToSqlDecimal(); }
|
|
6985 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6986 public static SqlDecimal ToSqlDecimal(SqlInt64 p) { return p.ToSqlDecimal(); }
|
|
6987 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6988 public static SqlDecimal ToSqlDecimal(SqlMoney p) { return p.ToSqlDecimal(); }
|
|
6989 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6990 public static SqlDecimal ToSqlDecimal(SqlSingle p) { return p.ToSqlDecimal(); }
|
|
6991 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6992 public static SqlDecimal ToSqlDecimal(SqlString p) { return p.ToSqlDecimal(); }
|
|
6993
|
|
6994 // Other Types
|
|
6995 //
|
|
6996 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6997 public static SqlDecimal ToSqlDecimal(Binary p) { return p == null || p.Length == 0 ? SqlDecimal.Null : ToDecimal(p); }
|
|
6998 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
6999 public static SqlDecimal ToSqlDecimal(Byte[] p) { return p == null || p.Length == 0 ? SqlDecimal.Null : ToDecimal(p); }
|
|
7000
|
|
7001 // From Object
|
|
7002 //
|
|
7003 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlDecimal</c> value.</summary>
|
|
7004 public static SqlDecimal ToSqlDecimal(object p)
|
|
7005 {
|
|
7006 if (p == null) return SqlDecimal.Null;
|
|
7007
|
|
7008 if (p is SqlDecimal) return (SqlDecimal)p;
|
|
7009
|
|
7010 var type = p.GetType();
|
|
7011
|
|
7012 // Primitive types
|
|
7013 //
|
|
7014 switch (Type.GetTypeCode(type))
|
|
7015 {
|
|
7016 case TypeCode.DBNull : return SqlDecimal.Null;
|
|
7017 case TypeCode.SByte : return ToSqlDecimal((SByte) p);
|
|
7018 case TypeCode.Int16 : return ToSqlDecimal((Int16) p);
|
|
7019 case TypeCode.Int32 : return ToSqlDecimal((Int32) p);
|
|
7020 case TypeCode.Int64 : return ToSqlDecimal((Int64) p);
|
|
7021 case TypeCode.Byte : return ToSqlDecimal((Byte) p);
|
|
7022 case TypeCode.UInt16 : return ToSqlDecimal((UInt16) p);
|
|
7023 case TypeCode.UInt32 : return ToSqlDecimal((UInt32) p);
|
|
7024 case TypeCode.Char : return ToSqlDecimal((Char) p);
|
|
7025 case TypeCode.UInt64 : return ToSqlDecimal((UInt64) p);
|
|
7026 case TypeCode.Decimal : return ToSqlDecimal((Decimal) p);
|
|
7027 case TypeCode.Single : return ToSqlDecimal((Single) p);
|
|
7028 case TypeCode.Double : return ToSqlDecimal((Double) p);
|
|
7029 case TypeCode.String : return ToSqlDecimal((String) p);
|
|
7030 case TypeCode.Boolean : return ToSqlDecimal((Boolean) p);
|
|
7031 }
|
|
7032
|
|
7033 // Nullable Types
|
|
7034 //
|
|
7035 if (type.IsGenericType)
|
|
7036 {
|
|
7037 if (p is Boolean?) return ToSqlDecimal((Boolean?) p);
|
|
7038 if (p is Byte?) return ToSqlDecimal((Byte?) p);
|
|
7039 if (p is Char?) return ToSqlDecimal((Char?) p);
|
|
7040 if (p is Decimal?) return ToSqlDecimal((Decimal?) p);
|
|
7041 if (p is Double?) return ToSqlDecimal((Double?) p);
|
|
7042 if (p is Int16?) return ToSqlDecimal((Int16?) p);
|
|
7043 if (p is Int32?) return ToSqlDecimal((Int32?) p);
|
|
7044 if (p is Int64?) return ToSqlDecimal((Int64?) p);
|
|
7045 if (p is SByte?) return ToSqlDecimal((SByte?) p);
|
|
7046 if (p is Single?) return ToSqlDecimal((Single?) p);
|
|
7047 if (p is UInt16?) return ToSqlDecimal((UInt16?) p);
|
|
7048 if (p is UInt32?) return ToSqlDecimal((UInt32?) p);
|
|
7049 if (p is UInt64?) return ToSqlDecimal((UInt64?) p);
|
|
7050 }
|
|
7051
|
|
7052 // Sql Types
|
|
7053 //
|
|
7054 if (p is INullable)
|
|
7055 {
|
|
7056 if (p is SqlBoolean) return ToSqlDecimal((SqlBoolean)p);
|
|
7057 if (p is SqlByte) return ToSqlDecimal((SqlByte) p);
|
|
7058 if (p is SqlDouble) return ToSqlDecimal((SqlDouble) p);
|
|
7059 if (p is SqlInt16) return ToSqlDecimal((SqlInt16) p);
|
|
7060 if (p is SqlInt32) return ToSqlDecimal((SqlInt32) p);
|
|
7061 if (p is SqlInt64) return ToSqlDecimal((SqlInt64) p);
|
|
7062 if (p is SqlMoney) return ToSqlDecimal((SqlMoney) p);
|
|
7063 if (p is SqlSingle) return ToSqlDecimal((SqlSingle) p);
|
|
7064 if (p is SqlString) return ToSqlDecimal((SqlString) p);
|
|
7065 }
|
|
7066
|
|
7067 // Other Types
|
|
7068 //
|
|
7069 if (p is Binary) return ToSqlDecimal((Binary) p);
|
|
7070 if (p is Byte[]) return ToSqlDecimal((Byte[]) p);
|
|
7071
|
|
7072 throw CreateInvalidCastException(p.GetType(), typeof(SqlDecimal));
|
|
7073 }
|
|
7074
|
|
7075 #endif
|
|
7076
|
|
7077 #endregion
|
|
7078
|
|
7079 #region SqlDouble
|
|
7080
|
|
7081 #if !SILVERLIGHT
|
|
7082
|
|
7083 // Simple Types
|
|
7084 //
|
|
7085 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7086 public static SqlDouble ToSqlDouble(Boolean p) { return p ? (SqlDouble)1 : (SqlDouble)0; }
|
|
7087 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7088 public static SqlDouble ToSqlDouble(Byte p) { return p; }
|
|
7089 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7090 public static SqlDouble ToSqlDouble(Char p) { return p; }
|
|
7091 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7092 public static SqlDouble ToSqlDouble(DateTime p) { return (p - DateTime.MinValue).TotalDays; }
|
|
7093 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7094 public static SqlDouble ToSqlDouble(DateTimeOffset p) { return (p - DateTimeOffset.MinValue).TotalDays; }
|
|
7095 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7096 public static SqlDouble ToSqlDouble(Decimal p) { return checked((Double)p); }
|
|
7097 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7098 public static SqlDouble ToSqlDouble(Double p) { return p; }
|
|
7099 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7100 public static SqlDouble ToSqlDouble(Int16 p) { return p; }
|
|
7101 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7102 public static SqlDouble ToSqlDouble(Int32 p) { return p; }
|
|
7103 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7104 public static SqlDouble ToSqlDouble(Int64 p) { return p; }
|
|
7105 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7106 [CLSCompliant(false)]
|
|
7107 public static SqlDouble ToSqlDouble(SByte p) { return p; }
|
|
7108 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7109 public static SqlDouble ToSqlDouble(Single p) { return p; }
|
|
7110 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7111 public static SqlDouble ToSqlDouble(String p) { return p == null? SqlDouble.Null : Double.Parse(p); }
|
|
7112 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7113 public static SqlDouble ToSqlDouble(TimeSpan p) { return p.TotalDays; }
|
|
7114 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7115 [CLSCompliant(false)]
|
|
7116 public static SqlDouble ToSqlDouble(UInt16 p) { return p; }
|
|
7117 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7118 [CLSCompliant(false)]
|
|
7119 public static SqlDouble ToSqlDouble(UInt32 p) { return p; }
|
|
7120 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7121 [CLSCompliant(false)]
|
|
7122 public static SqlDouble ToSqlDouble(UInt64 p) { return p; }
|
|
7123
|
|
7124 // Nullable Types
|
|
7125 //
|
|
7126 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7127 public static SqlDouble ToSqlDouble(Boolean? p) { return p.HasValue && p.Value ? (SqlDouble)1: (SqlDouble)0; }
|
|
7128 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7129 public static SqlDouble ToSqlDouble(Byte? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7130 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7131 public static SqlDouble ToSqlDouble(Char? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7132 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7133 public static SqlDouble ToSqlDouble(DateTime? p) { return p.HasValue ? (p.Value - DateTime.MinValue).TotalDays : SqlDouble.Null; }
|
|
7134 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7135 public static SqlDouble ToSqlDouble(DateTimeOffset? p) { return p.HasValue ? (p.Value - DateTimeOffset.MinValue).TotalDays : SqlDouble.Null; }
|
|
7136 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7137 public static SqlDouble ToSqlDouble(Decimal? p) { return p.HasValue ? checked((Double)p.Value) : SqlDouble.Null; }
|
|
7138 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7139 public static SqlDouble ToSqlDouble(Double? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7140 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7141 public static SqlDouble ToSqlDouble(Int16? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7142 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7143 public static SqlDouble ToSqlDouble(Int32? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7144 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7145 public static SqlDouble ToSqlDouble(Int64? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7146 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7147 [CLSCompliant(false)]
|
|
7148 public static SqlDouble ToSqlDouble(SByte? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7149 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7150 public static SqlDouble ToSqlDouble(Single? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7151 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7152 public static SqlDouble ToSqlDouble(TimeSpan? p) { return p.HasValue ? p.Value.TotalDays : SqlDouble.Null; }
|
|
7153 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7154 [CLSCompliant(false)]
|
|
7155 public static SqlDouble ToSqlDouble(UInt16? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7156 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7157 [CLSCompliant(false)]
|
|
7158 public static SqlDouble ToSqlDouble(UInt32? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7159 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7160 [CLSCompliant(false)]
|
|
7161 public static SqlDouble ToSqlDouble(UInt64? p) { return p.HasValue ? p.Value : SqlDouble.Null; }
|
|
7162
|
|
7163 // Sql Types
|
|
7164 //
|
|
7165 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7166 public static SqlDouble ToSqlDouble(SqlBoolean p) { return p.ToSqlDouble(); }
|
|
7167 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7168 public static SqlDouble ToSqlDouble(SqlByte p) { return p.ToSqlDouble(); }
|
|
7169 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7170 public static SqlDouble ToSqlDouble(SqlDateTime p) { return p.IsNull? SqlDouble.Null: ToDouble(p.Value); }
|
|
7171 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7172 public static SqlDouble ToSqlDouble(SqlDecimal p) { return p.ToSqlDouble(); }
|
|
7173 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7174 public static SqlDouble ToSqlDouble(SqlInt16 p) { return p.ToSqlDouble(); }
|
|
7175 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7176 public static SqlDouble ToSqlDouble(SqlInt32 p) { return p.ToSqlDouble(); }
|
|
7177 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7178 public static SqlDouble ToSqlDouble(SqlInt64 p) { return p.ToSqlDouble(); }
|
|
7179 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7180 public static SqlDouble ToSqlDouble(SqlMoney p) { return p.ToSqlDouble(); }
|
|
7181 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7182 public static SqlDouble ToSqlDouble(SqlSingle p) { return p.ToSqlDouble(); }
|
|
7183 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7184 public static SqlDouble ToSqlDouble(SqlString p) { return p.ToSqlDouble(); }
|
|
7185
|
|
7186 // Other Types
|
|
7187 //
|
|
7188 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7189 public static SqlDouble ToSqlDouble(Binary p) { return p == null || p.Length == 0 ? SqlDouble.Null : BitConverter.ToDouble(p.ToArray(), 0); }
|
|
7190 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7191 public static SqlDouble ToSqlDouble(Byte[] p) { return p == null || p.Length == 0 ? SqlDouble.Null : BitConverter.ToDouble(p, 0); }
|
|
7192
|
|
7193 // From Object
|
|
7194 //
|
|
7195 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlDouble</c> value.</summary>
|
|
7196 public static SqlDouble ToSqlDouble(object p)
|
|
7197 {
|
|
7198 if (p == null) return SqlDouble.Null;
|
|
7199
|
|
7200 if (p is SqlDouble) return (SqlDouble)p;
|
|
7201
|
|
7202 var type = p.GetType();
|
|
7203
|
|
7204 // Primitive types
|
|
7205 //
|
|
7206 switch (Type.GetTypeCode(type))
|
|
7207 {
|
|
7208 case TypeCode.DBNull : return SqlDouble.Null;
|
|
7209 case TypeCode.DateTime : return ToSqlDouble((DateTime) p);
|
|
7210 case TypeCode.SByte : return ToSqlDouble((SByte) p);
|
|
7211 case TypeCode.Int16 : return ToSqlDouble((Int16) p);
|
|
7212 case TypeCode.Int32 : return ToSqlDouble((Int32) p);
|
|
7213 case TypeCode.Int64 : return ToSqlDouble((Int64) p);
|
|
7214 case TypeCode.Byte : return ToSqlDouble((Byte) p);
|
|
7215 case TypeCode.UInt16 : return ToSqlDouble((UInt16) p);
|
|
7216 case TypeCode.UInt32 : return ToSqlDouble((UInt32) p);
|
|
7217 case TypeCode.Char : return ToSqlDouble((Char) p);
|
|
7218 case TypeCode.UInt64 : return ToSqlDouble((UInt64) p);
|
|
7219 case TypeCode.Single : return ToSqlDouble((Single) p);
|
|
7220 case TypeCode.Double : return ToSqlDouble((Double) p);
|
|
7221 case TypeCode.Decimal : return ToSqlDouble((Decimal) p);
|
|
7222 case TypeCode.String : return ToSqlDouble((String) p);
|
|
7223 case TypeCode.Boolean : return ToSqlDouble((Boolean) p);
|
|
7224 }
|
|
7225
|
|
7226 // Simple Types
|
|
7227 //
|
|
7228 if (p is DateTimeOffset) return ToSqlDouble((DateTimeOffset) p);
|
|
7229 if (p is TimeSpan) return ToSqlDouble((TimeSpan) p);
|
|
7230
|
|
7231 // Nullable Types
|
|
7232 //
|
|
7233 if (type.IsGenericType)
|
|
7234 {
|
|
7235 if (p is Boolean?) return ToSqlDouble((Boolean?) p);
|
|
7236 if (p is Byte?) return ToSqlDouble((Byte?) p);
|
|
7237 if (p is Char?) return ToSqlDouble((Char?) p);
|
|
7238 if (p is DateTime?) return ToSqlDouble((DateTime?) p);
|
|
7239 if (p is DateTimeOffset?) return ToSqlDouble((DateTimeOffset?)p);
|
|
7240 if (p is Decimal?) return ToSqlDouble((Decimal?) p);
|
|
7241 if (p is Double?) return ToSqlDouble((Double?) p);
|
|
7242 if (p is Int16?) return ToSqlDouble((Int16?) p);
|
|
7243 if (p is Int32?) return ToSqlDouble((Int32?) p);
|
|
7244 if (p is Int64?) return ToSqlDouble((Int64?) p);
|
|
7245 if (p is SByte?) return ToSqlDouble((SByte?) p);
|
|
7246 if (p is Single?) return ToSqlDouble((Single?) p);
|
|
7247 if (p is TimeSpan?) return ToSqlDouble((TimeSpan?) p);
|
|
7248 if (p is UInt16?) return ToSqlDouble((UInt16?) p);
|
|
7249 if (p is UInt32?) return ToSqlDouble((UInt32?) p);
|
|
7250 if (p is UInt64?) return ToSqlDouble((UInt64?) p);
|
|
7251 }
|
|
7252
|
|
7253 // Sql Types
|
|
7254 //
|
|
7255 if (p is INullable)
|
|
7256 {
|
|
7257 if (p is SqlBoolean) return ToSqlDouble((SqlBoolean) p);
|
|
7258 if (p is SqlByte) return ToSqlDouble((SqlByte) p);
|
|
7259 if (p is SqlDateTime) return ToSqlDouble((SqlDateTime) p);
|
|
7260 if (p is SqlDecimal) return ToSqlDouble((SqlDecimal) p);
|
|
7261 if (p is SqlInt16) return ToSqlDouble((SqlInt16) p);
|
|
7262 if (p is SqlInt32) return ToSqlDouble((SqlInt32) p);
|
|
7263 if (p is SqlInt64) return ToSqlDouble((SqlInt64) p);
|
|
7264 if (p is SqlMoney) return ToSqlDouble((SqlMoney) p);
|
|
7265 if (p is SqlSingle) return ToSqlDouble((SqlSingle) p);
|
|
7266 if (p is SqlString) return ToSqlDouble((SqlString) p);
|
|
7267 }
|
|
7268
|
|
7269 // Other Types
|
|
7270 //
|
|
7271 if (p is Binary) return ToSqlDouble((Binary) p);
|
|
7272 if (p is Byte[]) return ToSqlDouble((Byte[]) p);
|
|
7273
|
|
7274 throw CreateInvalidCastException(p.GetType(), typeof(SqlDouble));
|
|
7275 }
|
|
7276
|
|
7277 #endif
|
|
7278
|
|
7279 #endregion
|
|
7280
|
|
7281 #region SqlGuid
|
|
7282
|
|
7283 #if !SILVERLIGHT
|
|
7284
|
|
7285 // Simple Types
|
|
7286 //
|
|
7287 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7288 public static SqlGuid ToSqlGuid(Guid p) { return p; }
|
|
7289 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7290 public static SqlGuid ToSqlGuid(String p) { return p == null ? SqlGuid.Null : new Guid(p); }
|
|
7291
|
|
7292 // Nullable Types
|
|
7293 //
|
|
7294 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7295 public static SqlGuid ToSqlGuid(Guid? p) { return p.HasValue ? p.Value : SqlGuid.Null; }
|
|
7296
|
|
7297 // Sql Types
|
|
7298 //
|
|
7299 /// <summary>Converts the value from <c>SqlBinary</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7300 public static SqlGuid ToSqlGuid(SqlBinary p) { return p.IsNull ? SqlGuid.Null : p.ToSqlGuid().Value; }
|
|
7301 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7302 public static SqlGuid ToSqlGuid(SqlString p) { return p.IsNull ? SqlGuid.Null : new Guid(p.Value); }
|
|
7303
|
|
7304 // Other Types
|
|
7305 //
|
|
7306 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7307 public static SqlGuid ToSqlGuid(Binary p) { return p == null ? SqlGuid.Null : new Guid(p.ToArray()); }
|
|
7308 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7309 public static SqlGuid ToSqlGuid(Byte[] p) { return p == null ? SqlGuid.Null : new Guid(p); }
|
|
7310 /// <summary>Converts the value from <c>Type</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7311 public static SqlGuid ToSqlGuid(Type p) { return p == null ? SqlGuid.Null : p.GUID; }
|
|
7312
|
|
7313 // From Object
|
|
7314 //
|
|
7315 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlGuid</c> value.</summary>
|
|
7316 public static SqlGuid ToSqlGuid(object p)
|
|
7317 {
|
|
7318 if (p == null) return SqlGuid.Null;
|
|
7319
|
|
7320 if (p is SqlGuid) return (SqlGuid)p;
|
|
7321
|
|
7322 var type = p.GetType();
|
|
7323
|
|
7324 // Primitive types
|
|
7325 //
|
|
7326 switch (Type.GetTypeCode(type))
|
|
7327 {
|
|
7328 case TypeCode.DBNull : return SqlGuid.Null;
|
|
7329 case TypeCode.String : return ToSqlGuid((String) p);
|
|
7330 }
|
|
7331
|
|
7332 // Simple Types
|
|
7333 //
|
|
7334 if (p is Guid) return ToSqlGuid((Guid) p);
|
|
7335
|
|
7336 // Nullable Types
|
|
7337 //
|
|
7338 if (type.IsGenericType)
|
|
7339 {
|
|
7340 if (p is Guid?) return ToSqlGuid((Guid?) p);
|
|
7341 }
|
|
7342
|
|
7343 // Sql Types
|
|
7344 //
|
|
7345 if (p is INullable)
|
|
7346 {
|
|
7347 if (p is SqlBinary) return ToSqlGuid((SqlBinary)p);
|
|
7348 if (p is SqlString) return ToSqlGuid((SqlString)p);
|
|
7349 }
|
|
7350
|
|
7351 // Other Types
|
|
7352 //
|
|
7353 if (p is Binary) return ToSqlGuid((Binary) p);
|
|
7354 if (p is Byte[]) return ToSqlGuid((Byte[]) p);
|
|
7355 if (p is Type) return ToSqlGuid((Type) p);
|
|
7356
|
|
7357 throw CreateInvalidCastException(p.GetType(), typeof(SqlGuid));
|
|
7358 }
|
|
7359
|
|
7360 #endif
|
|
7361
|
|
7362 #endregion
|
|
7363
|
|
7364 #region SqlInt16
|
|
7365
|
|
7366 #if !SILVERLIGHT
|
|
7367
|
|
7368 // Simple Types
|
|
7369 //
|
|
7370 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7371 public static SqlInt16 ToSqlInt16(Boolean p) { return p ? (SqlInt16)1 : (SqlInt16)0; }
|
|
7372 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7373 public static SqlInt16 ToSqlInt16(Byte p) { return p; }
|
|
7374 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7375 public static SqlInt16 ToSqlInt16(Char p) { return checked((Int16)p); }
|
|
7376 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7377 public static SqlInt16 ToSqlInt16(Decimal p) { return checked((Int16)p); }
|
|
7378 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7379 public static SqlInt16 ToSqlInt16(Double p) { return checked((Int16)p); }
|
|
7380 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7381 public static SqlInt16 ToSqlInt16(Int16 p) { return p; }
|
|
7382 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7383 public static SqlInt16 ToSqlInt16(Int32 p) { return checked((Int16)p); }
|
|
7384 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7385 public static SqlInt16 ToSqlInt16(Int64 p) { return checked((Int16)p); }
|
|
7386 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7387 [CLSCompliant(false)]
|
|
7388 public static SqlInt16 ToSqlInt16(SByte p) { return p; }
|
|
7389 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7390 public static SqlInt16 ToSqlInt16(Single p) { return checked((Int16)p); }
|
|
7391 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7392 public static SqlInt16 ToSqlInt16(String p) { return p == null? SqlInt16.Null : Int16.Parse(p); }
|
|
7393 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7394 [CLSCompliant(false)]
|
|
7395 public static SqlInt16 ToSqlInt16(UInt16 p) { return checked((Int16)p); }
|
|
7396 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7397 [CLSCompliant(false)]
|
|
7398 public static SqlInt16 ToSqlInt16(UInt32 p) { return checked((Int16)p); }
|
|
7399 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7400 [CLSCompliant(false)]
|
|
7401 public static SqlInt16 ToSqlInt16(UInt64 p) { return checked((Int16)p); }
|
|
7402
|
|
7403 // Nullable Types
|
|
7404 //
|
|
7405 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7406 public static SqlInt16 ToSqlInt16(Boolean? p) { return p.HasValue && p.Value ? (SqlInt16)1: (SqlInt16)0; }
|
|
7407 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7408 public static SqlInt16 ToSqlInt16(Byte? p) { return p.HasValue ? p.Value : SqlInt16.Null; }
|
|
7409 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7410 public static SqlInt16 ToSqlInt16(Char? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7411 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7412 public static SqlInt16 ToSqlInt16(Decimal? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7413 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7414 public static SqlInt16 ToSqlInt16(Double? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7415 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7416 public static SqlInt16 ToSqlInt16(Int16? p) { return p.HasValue ? p.Value : SqlInt16.Null; }
|
|
7417 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7418 public static SqlInt16 ToSqlInt16(Int32? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7419 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7420 public static SqlInt16 ToSqlInt16(Int64? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7421 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7422 [CLSCompliant(false)]
|
|
7423 public static SqlInt16 ToSqlInt16(SByte? p) { return p.HasValue ? p.Value : SqlInt16.Null; }
|
|
7424 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7425 public static SqlInt16 ToSqlInt16(Single? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7426 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7427 [CLSCompliant(false)]
|
|
7428 public static SqlInt16 ToSqlInt16(UInt16? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7429 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7430 [CLSCompliant(false)]
|
|
7431 public static SqlInt16 ToSqlInt16(UInt32? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7432 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7433 [CLSCompliant(false)]
|
|
7434 public static SqlInt16 ToSqlInt16(UInt64? p) { return p.HasValue ? checked((Int16)p.Value) : SqlInt16.Null; }
|
|
7435
|
|
7436 // Sql Types
|
|
7437 //
|
|
7438 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7439 public static SqlInt16 ToSqlInt16(SqlBoolean p) { return p.ToSqlInt16(); }
|
|
7440 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7441 public static SqlInt16 ToSqlInt16(SqlByte p) { return p.ToSqlInt16(); }
|
|
7442 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7443 public static SqlInt16 ToSqlInt16(SqlDecimal p) { return p.ToSqlInt16(); }
|
|
7444 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7445 public static SqlInt16 ToSqlInt16(SqlDouble p) { return p.ToSqlInt16(); }
|
|
7446 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7447 public static SqlInt16 ToSqlInt16(SqlInt32 p) { return p.ToSqlInt16(); }
|
|
7448 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7449 public static SqlInt16 ToSqlInt16(SqlInt64 p) { return p.ToSqlInt16(); }
|
|
7450 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7451 public static SqlInt16 ToSqlInt16(SqlMoney p) { return p.ToSqlInt16(); }
|
|
7452 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7453 public static SqlInt16 ToSqlInt16(SqlSingle p) { return p.ToSqlInt16(); }
|
|
7454 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7455 public static SqlInt16 ToSqlInt16(SqlString p) { return p.ToSqlInt16(); }
|
|
7456
|
|
7457 // Other Types
|
|
7458 //
|
|
7459 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7460 public static SqlInt16 ToSqlInt16(Binary p) { return p == null || p.Length == 0 ? SqlInt16.Null : BitConverter.ToInt16(p.ToArray(), 0); }
|
|
7461 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7462 public static SqlInt16 ToSqlInt16(Byte[] p) { return p == null || p.Length == 0 ? SqlInt16.Null : BitConverter.ToInt16(p, 0); }
|
|
7463
|
|
7464 // From Object
|
|
7465 //
|
|
7466 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlInt16</c> value.</summary>
|
|
7467 public static SqlInt16 ToSqlInt16(object p)
|
|
7468 {
|
|
7469 if (p == null) return SqlInt16.Null;
|
|
7470
|
|
7471 if (p is SqlInt16) return (SqlInt16)p;
|
|
7472
|
|
7473 var type = p.GetType();
|
|
7474
|
|
7475 // Primitive types
|
|
7476 //
|
|
7477 switch (Type.GetTypeCode(type))
|
|
7478 {
|
|
7479 case TypeCode.DBNull : return SqlInt16.Null;
|
|
7480 case TypeCode.SByte : return ToSqlInt16((SByte) p);
|
|
7481 case TypeCode.Int16 : return ToSqlInt16((Int16) p);
|
|
7482 case TypeCode.Byte : return ToSqlInt16((Byte) p);
|
|
7483 case TypeCode.Int32 : return ToSqlInt16((Int32) p);
|
|
7484 case TypeCode.Int64 : return ToSqlInt16((Int64) p);
|
|
7485 case TypeCode.UInt16 : return ToSqlInt16((UInt16) p);
|
|
7486 case TypeCode.UInt32 : return ToSqlInt16((UInt32) p);
|
|
7487 case TypeCode.UInt64 : return ToSqlInt16((UInt64) p);
|
|
7488 case TypeCode.Single : return ToSqlInt16((Single) p);
|
|
7489 case TypeCode.Double : return ToSqlInt16((Double) p);
|
|
7490 case TypeCode.Decimal : return ToSqlInt16((Decimal) p);
|
|
7491 case TypeCode.Char : return ToSqlInt16((Char) p);
|
|
7492 case TypeCode.String : return ToSqlInt16((String) p);
|
|
7493 case TypeCode.Boolean : return ToSqlInt16((Boolean) p);
|
|
7494 }
|
|
7495
|
|
7496 // Nullable Types
|
|
7497 //
|
|
7498 if (type.IsGenericType)
|
|
7499 {
|
|
7500 if (p is Boolean?) return ToSqlInt16((Boolean?) p);
|
|
7501 if (p is Byte?) return ToSqlInt16((Byte?) p);
|
|
7502 if (p is Char?) return ToSqlInt16((Char?) p);
|
|
7503 if (p is Decimal?) return ToSqlInt16((Decimal?) p);
|
|
7504 if (p is Double?) return ToSqlInt16((Double?) p);
|
|
7505 if (p is Int16?) return ToSqlInt16((Int16?) p);
|
|
7506 if (p is Int32?) return ToSqlInt16((Int32?) p);
|
|
7507 if (p is Int64?) return ToSqlInt16((Int64?) p);
|
|
7508 if (p is SByte?) return ToSqlInt16((SByte?) p);
|
|
7509 if (p is Single?) return ToSqlInt16((Single?) p);
|
|
7510 if (p is UInt16?) return ToSqlInt16((UInt16?) p);
|
|
7511 if (p is UInt32?) return ToSqlInt16((UInt32?) p);
|
|
7512 if (p is UInt64?) return ToSqlInt16((UInt64?) p);
|
|
7513 }
|
|
7514
|
|
7515 // Sql Types
|
|
7516 //
|
|
7517 if (p is INullable)
|
|
7518 {
|
|
7519 if (p is SqlBoolean) return ToSqlInt16((SqlBoolean)p);
|
|
7520 if (p is SqlByte) return ToSqlInt16((SqlByte) p);
|
|
7521 if (p is SqlDecimal) return ToSqlInt16((SqlDecimal)p);
|
|
7522 if (p is SqlDouble) return ToSqlInt16((SqlDouble) p);
|
|
7523 if (p is SqlInt32) return ToSqlInt16((SqlInt32) p);
|
|
7524 if (p is SqlInt64) return ToSqlInt16((SqlInt64) p);
|
|
7525 if (p is SqlMoney) return ToSqlInt16((SqlMoney) p);
|
|
7526 if (p is SqlSingle) return ToSqlInt16((SqlSingle) p);
|
|
7527 if (p is SqlString) return ToSqlInt16((SqlString) p);
|
|
7528 }
|
|
7529
|
|
7530 // Other Types
|
|
7531 //
|
|
7532 if (p is Binary) return ToSqlInt16((Binary) p);
|
|
7533 if (p is Byte[]) return ToSqlInt16((Byte[]) p);
|
|
7534
|
|
7535 throw CreateInvalidCastException(p.GetType(), typeof(SqlInt16));
|
|
7536 }
|
|
7537
|
|
7538 #endif
|
|
7539
|
|
7540 #endregion
|
|
7541
|
|
7542 #region SqlInt32
|
|
7543
|
|
7544 #if !SILVERLIGHT
|
|
7545
|
|
7546 // Simple Types
|
|
7547 //
|
|
7548 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7549 public static SqlInt32 ToSqlInt32(Boolean p) { return p ? (SqlInt32)1 : (SqlInt32)0; }
|
|
7550 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7551 public static SqlInt32 ToSqlInt32(Byte p) { return p; }
|
|
7552 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7553 public static SqlInt32 ToSqlInt32(Char p) { return p; }
|
|
7554 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7555 public static SqlInt32 ToSqlInt32(Decimal p) { return checked((Int32)p); }
|
|
7556 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7557 public static SqlInt32 ToSqlInt32(Double p) { return checked((Int32)p); }
|
|
7558 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7559 public static SqlInt32 ToSqlInt32(Int16 p) { return p; }
|
|
7560 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7561 public static SqlInt32 ToSqlInt32(Int32 p) { return p; }
|
|
7562 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7563 public static SqlInt32 ToSqlInt32(Int64 p) { return checked((Int32)p); }
|
|
7564 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7565 [CLSCompliant(false)]
|
|
7566 public static SqlInt32 ToSqlInt32(SByte p) { return p; }
|
|
7567 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7568 public static SqlInt32 ToSqlInt32(Single p) { return checked((Int32)p); }
|
|
7569 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7570 public static SqlInt32 ToSqlInt32(String p) { return p == null? SqlInt32.Null : Int32.Parse(p); }
|
|
7571 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7572 [CLSCompliant(false)]
|
|
7573 public static SqlInt32 ToSqlInt32(UInt16 p) { return p; }
|
|
7574 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7575 [CLSCompliant(false)]
|
|
7576 public static SqlInt32 ToSqlInt32(UInt32 p) { return checked((Int32)p); }
|
|
7577 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7578 [CLSCompliant(false)]
|
|
7579 public static SqlInt32 ToSqlInt32(UInt64 p) { return checked((Int32)p); }
|
|
7580
|
|
7581 // Nullable Types
|
|
7582 //
|
|
7583 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7584 public static SqlInt32 ToSqlInt32(Boolean? p) { return p.HasValue && p.Value ? (SqlInt32)1: (SqlInt32)0; }
|
|
7585 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7586 public static SqlInt32 ToSqlInt32(Byte? p) { return p.HasValue ? p.Value : SqlInt32.Null; }
|
|
7587 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7588 public static SqlInt32 ToSqlInt32(Char? p) { return p.HasValue ? p.Value : SqlInt32.Null; }
|
|
7589 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7590 public static SqlInt32 ToSqlInt32(Decimal? p) { return p.HasValue ? checked((Int32)p.Value) : SqlInt32.Null; }
|
|
7591 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7592 public static SqlInt32 ToSqlInt32(Double? p) { return p.HasValue ? checked((Int32)p.Value) : SqlInt32.Null; }
|
|
7593 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7594 public static SqlInt32 ToSqlInt32(Int16? p) { return p.HasValue ? p.Value : SqlInt32.Null; }
|
|
7595 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7596 public static SqlInt32 ToSqlInt32(Int32? p) { return p.HasValue ? p.Value : SqlInt32.Null; }
|
|
7597 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7598 public static SqlInt32 ToSqlInt32(Int64? p) { return p.HasValue ? checked((Int32)p.Value) : SqlInt32.Null; }
|
|
7599 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7600 [CLSCompliant(false)]
|
|
7601 public static SqlInt32 ToSqlInt32(SByte? p) { return p.HasValue ? p.Value : SqlInt32.Null; }
|
|
7602 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7603 public static SqlInt32 ToSqlInt32(Single? p) { return p.HasValue ? checked((Int32)p.Value) : SqlInt32.Null; }
|
|
7604 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7605 [CLSCompliant(false)]
|
|
7606 public static SqlInt32 ToSqlInt32(UInt16? p) { return p.HasValue ? p.Value : SqlInt32.Null; }
|
|
7607 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7608 [CLSCompliant(false)]
|
|
7609 public static SqlInt32 ToSqlInt32(UInt32? p) { return p.HasValue ? checked((Int32)p.Value) : SqlInt32.Null; }
|
|
7610 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7611 [CLSCompliant(false)]
|
|
7612 public static SqlInt32 ToSqlInt32(UInt64? p) { return p.HasValue ? checked((Int32)p.Value) : SqlInt32.Null; }
|
|
7613
|
|
7614 // Sql Types
|
|
7615 //
|
|
7616 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7617 public static SqlInt32 ToSqlInt32(SqlBoolean p) { return p.ToSqlInt32(); }
|
|
7618 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7619 public static SqlInt32 ToSqlInt32(SqlByte p) { return p.ToSqlInt32(); }
|
|
7620 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7621 public static SqlInt32 ToSqlInt32(SqlDecimal p) { return p.ToSqlInt32(); }
|
|
7622 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7623 public static SqlInt32 ToSqlInt32(SqlDouble p) { return p.ToSqlInt32(); }
|
|
7624 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7625 public static SqlInt32 ToSqlInt32(SqlInt16 p) { return p.ToSqlInt32(); }
|
|
7626 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7627 public static SqlInt32 ToSqlInt32(SqlInt64 p) { return p.ToSqlInt32(); }
|
|
7628 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7629 public static SqlInt32 ToSqlInt32(SqlMoney p) { return p.ToSqlInt32(); }
|
|
7630 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7631 public static SqlInt32 ToSqlInt32(SqlSingle p) { return p.ToSqlInt32(); }
|
|
7632 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7633 public static SqlInt32 ToSqlInt32(SqlString p) { return p.ToSqlInt32(); }
|
|
7634
|
|
7635 // Other Types
|
|
7636 //
|
|
7637 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7638 public static SqlInt32 ToSqlInt32(Binary p) { return p == null || p.Length == 0 ? SqlInt32.Null : BitConverter.ToInt32(p.ToArray(), 0); }
|
|
7639 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7640 public static SqlInt32 ToSqlInt32(Byte[] p) { return p == null || p.Length == 0 ? SqlInt32.Null : BitConverter.ToInt32(p, 0); }
|
|
7641
|
|
7642 // From Object
|
|
7643 //
|
|
7644 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlInt32</c> value.</summary>
|
|
7645 public static SqlInt32 ToSqlInt32(object p)
|
|
7646 {
|
|
7647 if (p == null) return SqlInt32.Null;
|
|
7648
|
|
7649 if (p is SqlInt32) return (SqlInt32)p;
|
|
7650
|
|
7651 var type = p.GetType();
|
|
7652
|
|
7653 // Primitive types
|
|
7654 //
|
|
7655 switch (Type.GetTypeCode(type))
|
|
7656 {
|
|
7657 case TypeCode.DBNull : return SqlInt32.Null;
|
|
7658 case TypeCode.SByte : return ToSqlInt32((SByte) p);
|
|
7659 case TypeCode.Int16 : return ToSqlInt32((Int16) p);
|
|
7660 case TypeCode.Int32 : return ToSqlInt32((Int32) p);
|
|
7661 case TypeCode.Byte : return ToSqlInt32((Byte) p);
|
|
7662 case TypeCode.UInt16 : return ToSqlInt32((UInt16) p);
|
|
7663 case TypeCode.Char : return ToSqlInt32((Char) p);
|
|
7664 case TypeCode.Int64 : return ToSqlInt32((Int64) p);
|
|
7665 case TypeCode.UInt32 : return ToSqlInt32((UInt32) p);
|
|
7666 case TypeCode.UInt64 : return ToSqlInt32((UInt64) p);
|
|
7667 case TypeCode.Single : return ToSqlInt32((Single) p);
|
|
7668 case TypeCode.Double : return ToSqlInt32((Double) p);
|
|
7669 case TypeCode.Decimal : return ToSqlInt32((Decimal) p);
|
|
7670 case TypeCode.String : return ToSqlInt32((String) p);
|
|
7671 case TypeCode.Boolean : return ToSqlInt32((Boolean) p);
|
|
7672 }
|
|
7673
|
|
7674 // Nullable Types
|
|
7675 //
|
|
7676 if (type.IsGenericType)
|
|
7677 {
|
|
7678 if (p is Boolean?) return ToSqlInt32((Boolean?) p);
|
|
7679 if (p is Byte?) return ToSqlInt32((Byte?) p);
|
|
7680 if (p is Char?) return ToSqlInt32((Char?) p);
|
|
7681 if (p is Decimal?) return ToSqlInt32((Decimal?) p);
|
|
7682 if (p is Double?) return ToSqlInt32((Double?) p);
|
|
7683 if (p is Int16?) return ToSqlInt32((Int16?) p);
|
|
7684 if (p is Int32?) return ToSqlInt32((Int32?) p);
|
|
7685 if (p is Int64?) return ToSqlInt32((Int64?) p);
|
|
7686 if (p is SByte?) return ToSqlInt32((SByte?) p);
|
|
7687 if (p is Single?) return ToSqlInt32((Single?) p);
|
|
7688 if (p is UInt16?) return ToSqlInt32((UInt16?) p);
|
|
7689 if (p is UInt32?) return ToSqlInt32((UInt32?) p);
|
|
7690 if (p is UInt64?) return ToSqlInt32((UInt64?) p);
|
|
7691 }
|
|
7692
|
|
7693 // Sql Types
|
|
7694 //
|
|
7695 if (p is INullable)
|
|
7696 {
|
|
7697 if (p is SqlBoolean) return ToSqlInt32((SqlBoolean)p);
|
|
7698 if (p is SqlByte) return ToSqlInt32((SqlByte) p);
|
|
7699 if (p is SqlDecimal) return ToSqlInt32((SqlDecimal)p);
|
|
7700 if (p is SqlDouble) return ToSqlInt32((SqlDouble) p);
|
|
7701 if (p is SqlInt16) return ToSqlInt32((SqlInt16) p);
|
|
7702 if (p is SqlInt64) return ToSqlInt32((SqlInt64) p);
|
|
7703 if (p is SqlMoney) return ToSqlInt32((SqlMoney) p);
|
|
7704 if (p is SqlSingle) return ToSqlInt32((SqlSingle) p);
|
|
7705 if (p is SqlString) return ToSqlInt32((SqlString) p);
|
|
7706 }
|
|
7707
|
|
7708 // Other Types
|
|
7709 //
|
|
7710 if (p is Binary) return ToSqlInt32((Binary) p);
|
|
7711 if (p is Byte[]) return ToSqlInt32((Byte[]) p);
|
|
7712
|
|
7713 throw CreateInvalidCastException(p.GetType(), typeof(SqlInt32));
|
|
7714 }
|
|
7715
|
|
7716 #endif
|
|
7717
|
|
7718 #endregion
|
|
7719
|
|
7720 #region SqlInt64
|
|
7721
|
|
7722 #if !SILVERLIGHT
|
|
7723
|
|
7724 // Simple Types
|
|
7725 //
|
|
7726 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7727 public static SqlInt64 ToSqlInt64(Boolean p) { return p ? (SqlInt64)1 : (SqlInt64)0; }
|
|
7728 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7729 public static SqlInt64 ToSqlInt64(Byte p) { return p; }
|
|
7730 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7731 public static SqlInt64 ToSqlInt64(Char p) { return p; }
|
|
7732 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7733 public static SqlInt64 ToSqlInt64(DateTime p) { return (p - DateTime.MinValue).Ticks; }
|
|
7734 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7735 public static SqlInt64 ToSqlInt64(DateTimeOffset p) { return (p - DateTime.MinValue).Ticks; }
|
|
7736 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7737 public static SqlInt64 ToSqlInt64(Decimal p) { return checked((Int64)p); }
|
|
7738 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7739 public static SqlInt64 ToSqlInt64(Double p) { return checked((Int64)p); }
|
|
7740 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7741 public static SqlInt64 ToSqlInt64(Int16 p) { return p; }
|
|
7742 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7743 public static SqlInt64 ToSqlInt64(Int32 p) { return p; }
|
|
7744 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7745 public static SqlInt64 ToSqlInt64(Int64 p) { return p; }
|
|
7746 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7747 [CLSCompliant(false)]
|
|
7748 public static SqlInt64 ToSqlInt64(SByte p) { return p; }
|
|
7749 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7750 public static SqlInt64 ToSqlInt64(Single p) { return checked((Int64)p); }
|
|
7751 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7752 public static SqlInt64 ToSqlInt64(String p) { return p == null? SqlInt64.Null : Int64.Parse(p); }
|
|
7753 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7754 public static SqlInt64 ToSqlInt64(TimeSpan p) { return p.Ticks; }
|
|
7755 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7756 [CLSCompliant(false)]
|
|
7757 public static SqlInt64 ToSqlInt64(UInt16 p) { return p; }
|
|
7758 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7759 [CLSCompliant(false)]
|
|
7760 public static SqlInt64 ToSqlInt64(UInt32 p) { return p; }
|
|
7761 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7762 [CLSCompliant(false)]
|
|
7763 public static SqlInt64 ToSqlInt64(UInt64 p) { return checked((Int64)p); }
|
|
7764
|
|
7765 // Nullable Types
|
|
7766 //
|
|
7767 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7768 public static SqlInt64 ToSqlInt64(Boolean? p) { return p.HasValue && p.Value ? (SqlInt64)1: (SqlInt64)0; }
|
|
7769 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7770 public static SqlInt64 ToSqlInt64(Byte? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7771 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7772 public static SqlInt64 ToSqlInt64(Char? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7773 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7774 public static SqlInt64 ToSqlInt64(DateTime? p) { return p.HasValue ? (p.Value - DateTime.MinValue).Ticks : 0; }
|
|
7775 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7776 public static SqlInt64 ToSqlInt64(DateTimeOffset? p) { return p.HasValue ? (p.Value - DateTime.MinValue).Ticks : 0; }
|
|
7777 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7778 public static SqlInt64 ToSqlInt64(Decimal? p) { return p.HasValue ? checked((Int64)p.Value) : SqlInt64.Null; }
|
|
7779 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7780 public static SqlInt64 ToSqlInt64(Double? p) { return p.HasValue ? checked((Int64)p.Value) : SqlInt64.Null; }
|
|
7781 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7782 public static SqlInt64 ToSqlInt64(Int16? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7783 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7784 public static SqlInt64 ToSqlInt64(Int32? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7785 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7786 public static SqlInt64 ToSqlInt64(Int64? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7787 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7788 [CLSCompliant(false)]
|
|
7789 public static SqlInt64 ToSqlInt64(SByte? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7790 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7791 public static SqlInt64 ToSqlInt64(Single? p) { return p.HasValue ? checked((Int64)p.Value) : SqlInt64.Null; }
|
|
7792 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7793 public static SqlInt64 ToSqlInt64(TimeSpan? p) { return p.HasValue ? p.Value.Ticks : 0; }
|
|
7794 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7795 [CLSCompliant(false)]
|
|
7796 public static SqlInt64 ToSqlInt64(UInt16? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7797 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7798 [CLSCompliant(false)]
|
|
7799 public static SqlInt64 ToSqlInt64(UInt32? p) { return p.HasValue ? p.Value : SqlInt64.Null; }
|
|
7800 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7801 [CLSCompliant(false)]
|
|
7802 public static SqlInt64 ToSqlInt64(UInt64? p) { return p.HasValue ? checked((Int64)p.Value) : SqlInt64.Null; }
|
|
7803
|
|
7804 // Sql Types
|
|
7805 //
|
|
7806 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7807 public static SqlInt64 ToSqlInt64(SqlBoolean p) { return p.ToSqlInt64(); }
|
|
7808 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7809 public static SqlInt64 ToSqlInt64(SqlByte p) { return p.ToSqlInt64(); }
|
|
7810 /// <summary>Converts the value from <c>SqlDateTime</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7811 public static SqlInt64 ToSqlInt64(SqlDateTime p) { return p.IsNull? SqlInt64.Null: ToInt64(p.Value); }
|
|
7812 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7813 public static SqlInt64 ToSqlInt64(SqlDecimal p) { return p.ToSqlInt64(); }
|
|
7814 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7815 public static SqlInt64 ToSqlInt64(SqlDouble p) { return p.ToSqlInt64(); }
|
|
7816 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7817 public static SqlInt64 ToSqlInt64(SqlInt16 p) { return p.ToSqlInt64(); }
|
|
7818 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7819 public static SqlInt64 ToSqlInt64(SqlInt32 p) { return p.ToSqlInt64(); }
|
|
7820 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7821 public static SqlInt64 ToSqlInt64(SqlMoney p) { return p.ToSqlInt64(); }
|
|
7822 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7823 public static SqlInt64 ToSqlInt64(SqlSingle p) { return p.ToSqlInt64(); }
|
|
7824 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7825 public static SqlInt64 ToSqlInt64(SqlString p) { return p.ToSqlInt64(); }
|
|
7826
|
|
7827 // Other Types
|
|
7828 //
|
|
7829 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7830 public static SqlInt64 ToSqlInt64(Binary p) { return p == null || p.Length == 0 ? SqlInt64.Null : BitConverter.ToInt64(p.ToArray(), 0); }
|
|
7831 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7832 public static SqlInt64 ToSqlInt64(Byte[] p) { return p == null || p.Length == 0 ? SqlInt64.Null : BitConverter.ToInt64(p, 0); }
|
|
7833
|
|
7834 // From Object
|
|
7835 //
|
|
7836 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlInt64</c> value.</summary>
|
|
7837 public static SqlInt64 ToSqlInt64(object p)
|
|
7838 {
|
|
7839 if (p == null) return SqlInt64.Null;
|
|
7840
|
|
7841 if (p is SqlInt64) return (SqlInt64)p;
|
|
7842
|
|
7843 var type = p.GetType();
|
|
7844
|
|
7845 // Primitive types
|
|
7846 //
|
|
7847 switch (Type.GetTypeCode(type))
|
|
7848 {
|
|
7849 case TypeCode.DBNull : return SqlInt64.Null;
|
|
7850 case TypeCode.DateTime : return ToSqlInt64((DateTime)p);
|
|
7851 case TypeCode.SByte : return ToSqlInt64((SByte) p);
|
|
7852 case TypeCode.Int16 : return ToSqlInt64((Int16) p);
|
|
7853 case TypeCode.Int32 : return ToSqlInt64((Int32) p);
|
|
7854 case TypeCode.Int64 : return ToSqlInt64((Int64) p);
|
|
7855 case TypeCode.Byte : return ToSqlInt64((Byte) p);
|
|
7856 case TypeCode.UInt16 : return ToSqlInt64((UInt16) p);
|
|
7857 case TypeCode.UInt32 : return ToSqlInt64((UInt32) p);
|
|
7858 case TypeCode.Char : return ToSqlInt64((Char) p);
|
|
7859 case TypeCode.UInt64 : return ToSqlInt64((UInt64) p);
|
|
7860 case TypeCode.Single : return ToSqlInt64((Single) p);
|
|
7861 case TypeCode.Double : return ToSqlInt64((Double) p);
|
|
7862 case TypeCode.Decimal : return ToSqlInt64((Decimal) p);
|
|
7863 case TypeCode.String : return ToSqlInt64((String) p);
|
|
7864 case TypeCode.Boolean : return ToSqlInt64((Boolean) p);
|
|
7865 }
|
|
7866
|
|
7867 // Simple Types
|
|
7868 //
|
|
7869 if (p is DateTimeOffset) return ToSqlInt64((DateTimeOffset) p);
|
|
7870 if (p is TimeSpan) return ToSqlInt64((TimeSpan) p);
|
|
7871
|
|
7872 // Nullable Types
|
|
7873 //
|
|
7874 if (type.IsGenericType)
|
|
7875 {
|
|
7876 if (p is Boolean?) return ToSqlInt64((Boolean?) p);
|
|
7877 if (p is Byte?) return ToSqlInt64((Byte?) p);
|
|
7878 if (p is Char?) return ToSqlInt64((Char?) p);
|
|
7879 if (p is DateTime?) return ToSqlInt64((DateTime?) p);
|
|
7880 if (p is DateTimeOffset?) return ToSqlInt64((DateTimeOffset?)p);
|
|
7881 if (p is Decimal?) return ToSqlInt64((Decimal?) p);
|
|
7882 if (p is Double?) return ToSqlInt64((Double?) p);
|
|
7883 if (p is Int16?) return ToSqlInt64((Int16?) p);
|
|
7884 if (p is Int32?) return ToSqlInt64((Int32?) p);
|
|
7885 if (p is Int64?) return ToSqlInt64((Int64?) p);
|
|
7886 if (p is SByte?) return ToSqlInt64((SByte?) p);
|
|
7887 if (p is Single?) return ToSqlInt64((Single?) p);
|
|
7888 if (p is TimeSpan?) return ToSqlInt64((TimeSpan?) p);
|
|
7889 if (p is UInt16?) return ToSqlInt64((UInt16?) p);
|
|
7890 if (p is UInt32?) return ToSqlInt64((UInt32?) p);
|
|
7891 if (p is UInt64?) return ToSqlInt64((UInt64?) p);
|
|
7892 }
|
|
7893
|
|
7894 // Sql Types
|
|
7895 //
|
|
7896 if (p is INullable)
|
|
7897 {
|
|
7898 if (p is SqlBoolean) return ToSqlInt64((SqlBoolean) p);
|
|
7899 if (p is SqlByte) return ToSqlInt64((SqlByte) p);
|
|
7900 if (p is SqlDateTime) return ToSqlInt64((SqlDateTime) p);
|
|
7901 if (p is SqlDecimal) return ToSqlInt64((SqlDecimal) p);
|
|
7902 if (p is SqlDouble) return ToSqlInt64((SqlDouble) p);
|
|
7903 if (p is SqlInt16) return ToSqlInt64((SqlInt16) p);
|
|
7904 if (p is SqlInt32) return ToSqlInt64((SqlInt32) p);
|
|
7905 if (p is SqlMoney) return ToSqlInt64((SqlMoney) p);
|
|
7906 if (p is SqlSingle) return ToSqlInt64((SqlSingle) p);
|
|
7907 if (p is SqlString) return ToSqlInt64((SqlString) p);
|
|
7908 }
|
|
7909
|
|
7910 // Other Types
|
|
7911 //
|
|
7912 if (p is Binary) return ToSqlInt64((Binary) p);
|
|
7913 if (p is Byte[]) return ToSqlInt64((Byte[]) p);
|
|
7914
|
|
7915 throw CreateInvalidCastException(p.GetType(), typeof(SqlInt64));
|
|
7916 }
|
|
7917
|
|
7918 #endif
|
|
7919
|
|
7920 #endregion
|
|
7921
|
|
7922 #region SqlMoney
|
|
7923
|
|
7924 #if !SILVERLIGHT
|
|
7925
|
|
7926 // Simple Types
|
|
7927 //
|
|
7928 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7929 public static SqlMoney ToSqlMoney(Boolean p) { return p ? (SqlMoney)1 : (SqlMoney)0; }
|
|
7930 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7931 public static SqlMoney ToSqlMoney(Byte p) { return p; }
|
|
7932 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7933 public static SqlMoney ToSqlMoney(Char p) { return p; }
|
|
7934 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7935 public static SqlMoney ToSqlMoney(Decimal p) { return p; }
|
|
7936 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7937 public static SqlMoney ToSqlMoney(Double p) { return checked((Decimal)p); }
|
|
7938 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7939 public static SqlMoney ToSqlMoney(Int16 p) { return p; }
|
|
7940 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7941 public static SqlMoney ToSqlMoney(Int32 p) { return p; }
|
|
7942 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7943 public static SqlMoney ToSqlMoney(Int64 p) { return p; }
|
|
7944 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7945 [CLSCompliant(false)]
|
|
7946 public static SqlMoney ToSqlMoney(SByte p) { return p; }
|
|
7947 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7948 public static SqlMoney ToSqlMoney(Single p) { return checked((Decimal)p); }
|
|
7949 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7950 public static SqlMoney ToSqlMoney(String p) { return p == null? SqlMoney.Null : Decimal.Parse(p); }
|
|
7951 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7952 [CLSCompliant(false)]
|
|
7953 public static SqlMoney ToSqlMoney(UInt16 p) { return p; }
|
|
7954 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7955 [CLSCompliant(false)]
|
|
7956 public static SqlMoney ToSqlMoney(UInt32 p) { return p; }
|
|
7957 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7958 [CLSCompliant(false)]
|
|
7959 public static SqlMoney ToSqlMoney(UInt64 p) { return p; }
|
|
7960
|
|
7961 // Nullable Types
|
|
7962 //
|
|
7963 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7964 public static SqlMoney ToSqlMoney(Boolean? p) { return p.HasValue && p.Value ? (SqlMoney)1: (SqlMoney)0; }
|
|
7965 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7966 public static SqlMoney ToSqlMoney(Byte? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7967 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7968 public static SqlMoney ToSqlMoney(Char? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7969 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7970 public static SqlMoney ToSqlMoney(Decimal? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7971 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7972 public static SqlMoney ToSqlMoney(Double? p) { return p.HasValue ? checked((Decimal)p.Value) : SqlMoney.Null; }
|
|
7973 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7974 public static SqlMoney ToSqlMoney(Int16? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7975 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7976 public static SqlMoney ToSqlMoney(Int32? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7977 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7978 public static SqlMoney ToSqlMoney(Int64? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7979 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7980 [CLSCompliant(false)]
|
|
7981 public static SqlMoney ToSqlMoney(SByte? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7982 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7983 public static SqlMoney ToSqlMoney(Single? p) { return p.HasValue ? checked((Decimal)p.Value) : SqlMoney.Null; }
|
|
7984 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7985 [CLSCompliant(false)]
|
|
7986 public static SqlMoney ToSqlMoney(UInt16? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7987 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7988 [CLSCompliant(false)]
|
|
7989 public static SqlMoney ToSqlMoney(UInt32? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7990 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7991 [CLSCompliant(false)]
|
|
7992 public static SqlMoney ToSqlMoney(UInt64? p) { return p.HasValue ? p.Value : SqlMoney.Null; }
|
|
7993
|
|
7994 // Sql Types
|
|
7995 //
|
|
7996 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7997 public static SqlMoney ToSqlMoney(SqlBoolean p) { return p.ToSqlMoney(); }
|
|
7998 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
7999 public static SqlMoney ToSqlMoney(SqlByte p) { return p.ToSqlMoney(); }
|
|
8000 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8001 public static SqlMoney ToSqlMoney(SqlDecimal p) { return p.ToSqlMoney(); }
|
|
8002 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8003 public static SqlMoney ToSqlMoney(SqlDouble p) { return p.ToSqlMoney(); }
|
|
8004 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8005 public static SqlMoney ToSqlMoney(SqlInt16 p) { return p.ToSqlMoney(); }
|
|
8006 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8007 public static SqlMoney ToSqlMoney(SqlInt32 p) { return p.ToSqlMoney(); }
|
|
8008 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8009 public static SqlMoney ToSqlMoney(SqlInt64 p) { return p.ToSqlMoney(); }
|
|
8010 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8011 public static SqlMoney ToSqlMoney(SqlSingle p) { return p.ToSqlMoney(); }
|
|
8012 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8013 public static SqlMoney ToSqlMoney(SqlString p) { return p.ToSqlMoney(); }
|
|
8014
|
|
8015 // Other Types
|
|
8016 //
|
|
8017 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8018 public static SqlMoney ToSqlMoney(Binary p) { return p == null || p.Length == 0 ? SqlMoney.Null : ToDecimal(p); }
|
|
8019 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8020 public static SqlMoney ToSqlMoney(Byte[] p) { return p == null || p.Length == 0 ? SqlMoney.Null : ToDecimal(p); }
|
|
8021
|
|
8022 // From Object
|
|
8023 //
|
|
8024 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlMoney</c> value.</summary>
|
|
8025 public static SqlMoney ToSqlMoney(object p)
|
|
8026 {
|
|
8027 if (p == null) return SqlMoney.Null;
|
|
8028
|
|
8029 if (p is SqlMoney) return (SqlMoney)p;
|
|
8030
|
|
8031 var type = p.GetType();
|
|
8032
|
|
8033 // Primitive types
|
|
8034 //
|
|
8035 switch (Type.GetTypeCode(type))
|
|
8036 {
|
|
8037 case TypeCode.DBNull : return SqlMoney.Null;
|
|
8038 case TypeCode.SByte : return ToSqlMoney((SByte) p);
|
|
8039 case TypeCode.Int16 : return ToSqlMoney((Int16) p);
|
|
8040 case TypeCode.Int32 : return ToSqlMoney((Int32) p);
|
|
8041 case TypeCode.Int64 : return ToSqlMoney((Int64) p);
|
|
8042 case TypeCode.Byte : return ToSqlMoney((Byte) p);
|
|
8043 case TypeCode.UInt16 : return ToSqlMoney((UInt16) p);
|
|
8044 case TypeCode.UInt32 : return ToSqlMoney((UInt32) p);
|
|
8045 case TypeCode.Char : return ToSqlMoney((Char) p);
|
|
8046 case TypeCode.UInt64 : return ToSqlMoney((UInt64) p);
|
|
8047 case TypeCode.Decimal : return ToSqlMoney((Decimal) p);
|
|
8048 case TypeCode.Single : return ToSqlMoney((Single) p);
|
|
8049 case TypeCode.Double : return ToSqlMoney((Double) p);
|
|
8050 case TypeCode.String : return ToSqlMoney((String) p);
|
|
8051 case TypeCode.Boolean : return ToSqlMoney((Boolean) p);
|
|
8052 }
|
|
8053
|
|
8054 // Nullable Types
|
|
8055 //
|
|
8056 if (type.IsGenericType)
|
|
8057 {
|
|
8058 if (p is Boolean?) return ToSqlMoney((Boolean?) p);
|
|
8059 if (p is Byte?) return ToSqlMoney((Byte?) p);
|
|
8060 if (p is Char?) return ToSqlMoney((Char?) p);
|
|
8061 if (p is Decimal?) return ToSqlMoney((Decimal?) p);
|
|
8062 if (p is Double?) return ToSqlMoney((Double?) p);
|
|
8063 if (p is Int16?) return ToSqlMoney((Int16?) p);
|
|
8064 if (p is Int32?) return ToSqlMoney((Int32?) p);
|
|
8065 if (p is Int64?) return ToSqlMoney((Int64?) p);
|
|
8066 if (p is SByte?) return ToSqlMoney((SByte?) p);
|
|
8067 if (p is Single?) return ToSqlMoney((Single?) p);
|
|
8068 if (p is UInt16?) return ToSqlMoney((UInt16?) p);
|
|
8069 if (p is UInt32?) return ToSqlMoney((UInt32?) p);
|
|
8070 if (p is UInt64?) return ToSqlMoney((UInt64?) p);
|
|
8071 }
|
|
8072
|
|
8073 // Sql Types
|
|
8074 //
|
|
8075 if (p is INullable)
|
|
8076 {
|
|
8077 if (p is SqlBoolean) return ToSqlMoney((SqlBoolean)p);
|
|
8078 if (p is SqlByte) return ToSqlMoney((SqlByte) p);
|
|
8079 if (p is SqlDecimal) return ToSqlMoney((SqlDecimal)p);
|
|
8080 if (p is SqlDouble) return ToSqlMoney((SqlDouble) p);
|
|
8081 if (p is SqlInt16) return ToSqlMoney((SqlInt16) p);
|
|
8082 if (p is SqlInt32) return ToSqlMoney((SqlInt32) p);
|
|
8083 if (p is SqlInt64) return ToSqlMoney((SqlInt64) p);
|
|
8084 if (p is SqlSingle) return ToSqlMoney((SqlSingle) p);
|
|
8085 if (p is SqlString) return ToSqlMoney((SqlString) p);
|
|
8086 }
|
|
8087
|
|
8088 // Other Types
|
|
8089 //
|
|
8090 if (p is Binary) return ToSqlMoney((Binary) p);
|
|
8091 if (p is Byte[]) return ToSqlMoney((Byte[]) p);
|
|
8092
|
|
8093 throw CreateInvalidCastException(p.GetType(), typeof(SqlMoney));
|
|
8094 }
|
|
8095
|
|
8096 #endif
|
|
8097
|
|
8098 #endregion
|
|
8099
|
|
8100 #region SqlSingle
|
|
8101
|
|
8102 #if !SILVERLIGHT
|
|
8103
|
|
8104 // Simple Types
|
|
8105 //
|
|
8106 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8107 public static SqlSingle ToSqlSingle(Boolean p) { return p ? (SqlSingle)1 : (SqlSingle)0; }
|
|
8108 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8109 public static SqlSingle ToSqlSingle(Byte p) { return p; }
|
|
8110 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8111 public static SqlSingle ToSqlSingle(Char p) { return p; }
|
|
8112 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8113 public static SqlSingle ToSqlSingle(Decimal p) { return checked((Single)p); }
|
|
8114 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8115 public static SqlSingle ToSqlSingle(Double p) { return checked((Single)p); }
|
|
8116 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8117 public static SqlSingle ToSqlSingle(Int16 p) { return p; }
|
|
8118 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8119 public static SqlSingle ToSqlSingle(Int32 p) { return p; }
|
|
8120 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8121 public static SqlSingle ToSqlSingle(Int64 p) { return p; }
|
|
8122 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8123 [CLSCompliant(false)]
|
|
8124 public static SqlSingle ToSqlSingle(SByte p) { return p; }
|
|
8125 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8126 public static SqlSingle ToSqlSingle(Single p) { return p; }
|
|
8127 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8128 public static SqlSingle ToSqlSingle(String p) { return p == null? SqlSingle.Null : Single.Parse(p); }
|
|
8129 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8130 [CLSCompliant(false)]
|
|
8131 public static SqlSingle ToSqlSingle(UInt16 p) { return p; }
|
|
8132 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8133 [CLSCompliant(false)]
|
|
8134 public static SqlSingle ToSqlSingle(UInt32 p) { return p; }
|
|
8135 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8136 [CLSCompliant(false)]
|
|
8137 public static SqlSingle ToSqlSingle(UInt64 p) { return p; }
|
|
8138
|
|
8139 // Nullable Types
|
|
8140 //
|
|
8141 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8142 public static SqlSingle ToSqlSingle(Boolean? p) { return p.HasValue && p.Value ? (SqlSingle)1: (SqlSingle)0; }
|
|
8143 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8144 public static SqlSingle ToSqlSingle(Byte? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8145 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8146 public static SqlSingle ToSqlSingle(Char? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8147 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8148 public static SqlSingle ToSqlSingle(Decimal? p) { return p.HasValue ? checked((Single)p.Value) : SqlSingle.Null; }
|
|
8149 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8150 public static SqlSingle ToSqlSingle(Double? p) { return p.HasValue ? checked((Single)p.Value) : SqlSingle.Null; }
|
|
8151 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8152 public static SqlSingle ToSqlSingle(Int16? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8153 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8154 public static SqlSingle ToSqlSingle(Int32? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8155 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8156 public static SqlSingle ToSqlSingle(Int64? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8157 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8158 [CLSCompliant(false)]
|
|
8159 public static SqlSingle ToSqlSingle(SByte? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8160 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8161 public static SqlSingle ToSqlSingle(Single? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8162 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8163 [CLSCompliant(false)]
|
|
8164 public static SqlSingle ToSqlSingle(UInt16? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8165 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8166 [CLSCompliant(false)]
|
|
8167 public static SqlSingle ToSqlSingle(UInt32? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8168 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8169 [CLSCompliant(false)]
|
|
8170 public static SqlSingle ToSqlSingle(UInt64? p) { return p.HasValue ? p.Value : SqlSingle.Null; }
|
|
8171
|
|
8172 // Sql Types
|
|
8173 //
|
|
8174 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8175 public static SqlSingle ToSqlSingle(SqlBoolean p) { return p.ToSqlSingle(); }
|
|
8176 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8177 public static SqlSingle ToSqlSingle(SqlByte p) { return p.ToSqlSingle(); }
|
|
8178 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8179 public static SqlSingle ToSqlSingle(SqlDecimal p) { return p.ToSqlSingle(); }
|
|
8180 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8181 public static SqlSingle ToSqlSingle(SqlDouble p) { return p.ToSqlSingle(); }
|
|
8182 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8183 public static SqlSingle ToSqlSingle(SqlInt16 p) { return p.ToSqlSingle(); }
|
|
8184 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8185 public static SqlSingle ToSqlSingle(SqlInt32 p) { return p.ToSqlSingle(); }
|
|
8186 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8187 public static SqlSingle ToSqlSingle(SqlInt64 p) { return p.ToSqlSingle(); }
|
|
8188 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8189 public static SqlSingle ToSqlSingle(SqlMoney p) { return p.ToSqlSingle(); }
|
|
8190 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8191 public static SqlSingle ToSqlSingle(SqlString p) { return p.ToSqlSingle(); }
|
|
8192
|
|
8193 // Other Types
|
|
8194 //
|
|
8195 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8196 public static SqlSingle ToSqlSingle(Binary p) { return p == null || p.Length == 0 ? SqlSingle.Null : BitConverter.ToSingle(p.ToArray(), 0); }
|
|
8197 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8198 public static SqlSingle ToSqlSingle(Byte[] p) { return p == null || p.Length == 0 ? SqlSingle.Null : BitConverter.ToSingle(p, 0); }
|
|
8199
|
|
8200 // From Object
|
|
8201 //
|
|
8202 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlSingle</c> value.</summary>
|
|
8203 public static SqlSingle ToSqlSingle(object p)
|
|
8204 {
|
|
8205 if (p == null) return SqlSingle.Null;
|
|
8206
|
|
8207 if (p is SqlSingle) return (SqlSingle)p;
|
|
8208
|
|
8209 var type = p.GetType();
|
|
8210
|
|
8211 // Primitive types
|
|
8212 //
|
|
8213 switch (Type.GetTypeCode(type))
|
|
8214 {
|
|
8215 case TypeCode.DBNull : return SqlSingle.Null;
|
|
8216 case TypeCode.SByte : return ToSqlSingle((SByte) p);
|
|
8217 case TypeCode.Int16 : return ToSqlSingle((Int16) p);
|
|
8218 case TypeCode.Int32 : return ToSqlSingle((Int32) p);
|
|
8219 case TypeCode.Int64 : return ToSqlSingle((Int64) p);
|
|
8220 case TypeCode.Byte : return ToSqlSingle((Byte) p);
|
|
8221 case TypeCode.UInt16 : return ToSqlSingle((UInt16) p);
|
|
8222 case TypeCode.UInt32 : return ToSqlSingle((UInt32) p);
|
|
8223 case TypeCode.Char : return ToSqlSingle((Char) p);
|
|
8224 case TypeCode.UInt64 : return ToSqlSingle((UInt64) p);
|
|
8225 case TypeCode.Single : return ToSqlSingle((Single) p);
|
|
8226 case TypeCode.Double : return ToSqlSingle((Double) p);
|
|
8227 case TypeCode.Decimal : return ToSqlSingle((Decimal) p);
|
|
8228 case TypeCode.String : return ToSqlSingle((String) p);
|
|
8229 case TypeCode.Boolean : return ToSqlSingle((Boolean) p);
|
|
8230 }
|
|
8231
|
|
8232 // Nullable Types
|
|
8233 //
|
|
8234 if (type.IsGenericType)
|
|
8235 {
|
|
8236 if (p is Boolean?) return ToSqlSingle((Boolean?) p);
|
|
8237 if (p is Byte?) return ToSqlSingle((Byte?) p);
|
|
8238 if (p is Char?) return ToSqlSingle((Char?) p);
|
|
8239 if (p is Decimal?) return ToSqlSingle((Decimal?) p);
|
|
8240 if (p is Double?) return ToSqlSingle((Double?) p);
|
|
8241 if (p is Int16?) return ToSqlSingle((Int16?) p);
|
|
8242 if (p is Int32?) return ToSqlSingle((Int32?) p);
|
|
8243 if (p is Int64?) return ToSqlSingle((Int64?) p);
|
|
8244 if (p is SByte?) return ToSqlSingle((SByte?) p);
|
|
8245 if (p is Single?) return ToSqlSingle((Single?) p);
|
|
8246 if (p is UInt16?) return ToSqlSingle((UInt16?) p);
|
|
8247 if (p is UInt32?) return ToSqlSingle((UInt32?) p);
|
|
8248 if (p is UInt64?) return ToSqlSingle((UInt64?) p);
|
|
8249 }
|
|
8250
|
|
8251 // Sql Types
|
|
8252 //
|
|
8253 if (p is INullable)
|
|
8254 {
|
|
8255 if (p is SqlBoolean) return ToSqlSingle((SqlBoolean)p);
|
|
8256 if (p is SqlByte) return ToSqlSingle((SqlByte) p);
|
|
8257 if (p is SqlDecimal) return ToSqlSingle((SqlDecimal)p);
|
|
8258 if (p is SqlDouble) return ToSqlSingle((SqlDouble) p);
|
|
8259 if (p is SqlInt16) return ToSqlSingle((SqlInt16) p);
|
|
8260 if (p is SqlInt32) return ToSqlSingle((SqlInt32) p);
|
|
8261 if (p is SqlInt64) return ToSqlSingle((SqlInt64) p);
|
|
8262 if (p is SqlMoney) return ToSqlSingle((SqlMoney) p);
|
|
8263 if (p is SqlString) return ToSqlSingle((SqlString) p);
|
|
8264 }
|
|
8265
|
|
8266 // Other Types
|
|
8267 //
|
|
8268 if (p is Binary) return ToSqlSingle((Binary) p);
|
|
8269 if (p is Byte[]) return ToSqlSingle((Byte[]) p);
|
|
8270
|
|
8271 throw CreateInvalidCastException(p.GetType(), typeof(SqlSingle));
|
|
8272 }
|
|
8273
|
|
8274 #endif
|
|
8275
|
|
8276 #endregion
|
|
8277
|
|
8278 #region SqlString
|
|
8279
|
|
8280 #if !SILVERLIGHT
|
|
8281
|
|
8282 // Simple Types
|
|
8283 //
|
|
8284 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8285 public static SqlString ToSqlString(Boolean p) { return p.ToString(); }
|
|
8286 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8287 public static SqlString ToSqlString(Byte p) { return p.ToString(); }
|
|
8288 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8289 public static SqlString ToSqlString(Char p) { return p.ToString(); }
|
|
8290 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8291 public static SqlString ToSqlString(DateTime p) { return p.ToString(); }
|
|
8292 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8293 public static SqlString ToSqlString(DateTimeOffset p) { return p.ToString(); }
|
|
8294 /// <summary>Converts the value from <c>Decimal</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8295 public static SqlString ToSqlString(Decimal p) { return p.ToString(); }
|
|
8296 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8297 public static SqlString ToSqlString(Double p) { return p.ToString(); }
|
|
8298 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8299 public static SqlString ToSqlString(Guid p) { return p.ToString(); }
|
|
8300 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8301 public static SqlString ToSqlString(Int16 p) { return p.ToString(); }
|
|
8302 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8303 public static SqlString ToSqlString(Int32 p) { return p.ToString(); }
|
|
8304 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8305 public static SqlString ToSqlString(Int64 p) { return p.ToString(); }
|
|
8306 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8307 [CLSCompliant(false)]
|
|
8308 public static SqlString ToSqlString(SByte p) { return p.ToString(); }
|
|
8309 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8310 public static SqlString ToSqlString(Single p) { return p.ToString(); }
|
|
8311 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8312 public static SqlString ToSqlString(String p) { return p ?? SqlString.Null; }
|
|
8313 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8314 public static SqlString ToSqlString(TimeSpan p) { return p.ToString(); }
|
|
8315 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8316 [CLSCompliant(false)]
|
|
8317 public static SqlString ToSqlString(UInt16 p) { return p.ToString(); }
|
|
8318 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8319 [CLSCompliant(false)]
|
|
8320 public static SqlString ToSqlString(UInt32 p) { return p.ToString(); }
|
|
8321 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8322 [CLSCompliant(false)]
|
|
8323 public static SqlString ToSqlString(UInt64 p) { return p.ToString(); }
|
|
8324
|
|
8325 // Nullable Types
|
|
8326 //
|
|
8327 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8328 public static SqlString ToSqlString(Boolean? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8329 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8330 public static SqlString ToSqlString(Byte? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8331 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8332 public static SqlString ToSqlString(Char? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8333 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8334 public static SqlString ToSqlString(DateTime? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8335 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8336 public static SqlString ToSqlString(DateTimeOffset? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8337 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8338 public static SqlString ToSqlString(Decimal? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8339 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8340 public static SqlString ToSqlString(Double? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8341 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8342 public static SqlString ToSqlString(Guid? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8343 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8344 public static SqlString ToSqlString(Int16? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8345 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8346 public static SqlString ToSqlString(Int32? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8347 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8348 public static SqlString ToSqlString(Int64? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8349 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8350 [CLSCompliant(false)]
|
|
8351 public static SqlString ToSqlString(SByte? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8352 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8353 public static SqlString ToSqlString(Single? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8354 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8355 public static SqlString ToSqlString(TimeSpan? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8356 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8357 [CLSCompliant(false)]
|
|
8358 public static SqlString ToSqlString(UInt16? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8359 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8360 [CLSCompliant(false)]
|
|
8361 public static SqlString ToSqlString(UInt32? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8362 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8363 [CLSCompliant(false)]
|
|
8364 public static SqlString ToSqlString(UInt64? p) { return p.HasValue ? p.Value.ToString() : SqlString.Null; }
|
|
8365
|
|
8366 // Sql Types
|
|
8367 //
|
|
8368 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8369 public static SqlString ToSqlString(SqlBoolean p) { return p.ToSqlString(); }
|
|
8370 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8371 public static SqlString ToSqlString(SqlByte p) { return p.ToSqlString(); }
|
|
8372 /// <summary>Converts the value from <c>SqlChars</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8373 public static SqlString ToSqlString(SqlChars p) { return p.ToSqlString(); }
|
|
8374 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8375 public static SqlString ToSqlString(SqlDecimal p) { return p.ToSqlString(); }
|
|
8376 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8377 public static SqlString ToSqlString(SqlDouble p) { return p.ToSqlString(); }
|
|
8378 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8379 public static SqlString ToSqlString(SqlGuid p) { return p.ToSqlString(); }
|
|
8380 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8381 public static SqlString ToSqlString(SqlInt16 p) { return p.ToSqlString(); }
|
|
8382 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8383 public static SqlString ToSqlString(SqlInt32 p) { return p.ToSqlString(); }
|
|
8384 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8385 public static SqlString ToSqlString(SqlInt64 p) { return p.ToSqlString(); }
|
|
8386 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8387 public static SqlString ToSqlString(SqlMoney p) { return p.ToSqlString(); }
|
|
8388 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8389 public static SqlString ToSqlString(SqlSingle p) { return p.ToSqlString(); }
|
|
8390 /// <summary>Converts the value from <c>SqlXml</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8391 public static SqlString ToSqlString(SqlXml p) { return p.IsNull ? SqlString.Null : p.Value; }
|
|
8392
|
|
8393 // Other Types
|
|
8394 //
|
|
8395 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8396 public static SqlString ToSqlString(Binary p) { return ToSqlString(p.ToArray()); }
|
|
8397 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8398 public static SqlString ToSqlString(Byte[] p) { return p == null ? SqlString.Null : System.Text.Encoding.UTF8.GetString(p, 0, p.Length); }
|
|
8399 /// <summary>Converts the value from <c>Type</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8400 public static SqlString ToSqlString(Type p) { return p == null ? SqlString.Null : p.FullName; }
|
|
8401 /// <summary>Converts the value from <c>XElement</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8402 public static SqlString ToSqlString(XElement p) { return p == null ? SqlString.Null : p.ToString(); }
|
|
8403 /// <summary>Converts the value from <c>XmlDocument</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8404 public static SqlString ToSqlString(XmlDocument p) { return p == null ? SqlString.Null : p.InnerXml; }
|
|
8405
|
|
8406 // From Object
|
|
8407 //
|
|
8408 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlString</c> value.</summary>
|
|
8409 public static SqlString ToSqlString(object p)
|
|
8410 {
|
|
8411 if (p == null) return SqlString.Null;
|
|
8412
|
|
8413 if (p is SqlString) return (SqlString)p;
|
|
8414
|
|
8415 var type = p.GetType();
|
|
8416
|
|
8417 // Primitive types
|
|
8418 //
|
|
8419 switch (Type.GetTypeCode(type))
|
|
8420 {
|
|
8421 case TypeCode.DBNull : return SqlString.Null;
|
|
8422 case TypeCode.SByte : return ToSqlString((SByte) p);
|
|
8423 case TypeCode.Int16 : return ToSqlString((Int16) p);
|
|
8424 case TypeCode.Int32 : return ToSqlString((Int32) p);
|
|
8425 case TypeCode.Int64 : return ToSqlString((Int64) p);
|
|
8426 case TypeCode.Byte : return ToSqlString((Byte) p);
|
|
8427 case TypeCode.UInt16 : return ToSqlString((UInt16) p);
|
|
8428 case TypeCode.UInt32 : return ToSqlString((UInt32) p);
|
|
8429 case TypeCode.UInt64 : return ToSqlString((UInt64) p);
|
|
8430 case TypeCode.Single : return ToSqlString((Single) p);
|
|
8431 case TypeCode.Double : return ToSqlString((Double) p);
|
|
8432 case TypeCode.Boolean : return ToSqlString((Boolean) p);
|
|
8433 case TypeCode.Decimal : return ToSqlString((Decimal) p);
|
|
8434 case TypeCode.Char : return ToSqlString((Char) p);
|
|
8435 case TypeCode.DateTime : return ToSqlString((DateTime) p);
|
|
8436 case TypeCode.String : return ToSqlString((String) p);
|
|
8437 }
|
|
8438
|
|
8439 // Simple Types
|
|
8440 //
|
|
8441 if (p is DateTimeOffset) return ToSqlString((DateTimeOffset) p);
|
|
8442 if (p is Guid) return ToSqlString((Guid) p);
|
|
8443 if (p is TimeSpan) return ToSqlString((TimeSpan) p);
|
|
8444
|
|
8445 // Nullable Types
|
|
8446 //
|
|
8447 if (type.IsGenericType)
|
|
8448 {
|
|
8449 if (p is Boolean?) return ToSqlString((Boolean?) p);
|
|
8450 if (p is Byte?) return ToSqlString((Byte?) p);
|
|
8451 if (p is Char?) return ToSqlString((Char?) p);
|
|
8452 if (p is DateTime?) return ToSqlString((DateTime?) p);
|
|
8453 if (p is DateTimeOffset?) return ToSqlString((DateTimeOffset?)p);
|
|
8454 if (p is Decimal?) return ToSqlString((Decimal?) p);
|
|
8455 if (p is Double?) return ToSqlString((Double?) p);
|
|
8456 if (p is Guid?) return ToSqlString((Guid?) p);
|
|
8457 if (p is Int16?) return ToSqlString((Int16?) p);
|
|
8458 if (p is Int32?) return ToSqlString((Int32?) p);
|
|
8459 if (p is Int64?) return ToSqlString((Int64?) p);
|
|
8460 if (p is SByte?) return ToSqlString((SByte?) p);
|
|
8461 if (p is Single?) return ToSqlString((Single?) p);
|
|
8462 if (p is TimeSpan?) return ToSqlString((TimeSpan?) p);
|
|
8463 if (p is UInt16?) return ToSqlString((UInt16?) p);
|
|
8464 if (p is UInt32?) return ToSqlString((UInt32?) p);
|
|
8465 if (p is UInt64?) return ToSqlString((UInt64?) p);
|
|
8466 }
|
|
8467
|
|
8468 // Sql Types
|
|
8469 //
|
|
8470 if (p is INullable)
|
|
8471 {
|
|
8472 if (p is SqlBoolean) return ToSqlString((SqlBoolean) p);
|
|
8473 if (p is SqlByte) return ToSqlString((SqlByte) p);
|
|
8474 if (p is SqlChars) return ToSqlString((SqlChars) p);
|
|
8475 if (p is SqlDecimal) return ToSqlString((SqlDecimal) p);
|
|
8476 if (p is SqlDouble) return ToSqlString((SqlDouble) p);
|
|
8477 if (p is SqlGuid) return ToSqlString((SqlGuid) p);
|
|
8478 if (p is SqlInt16) return ToSqlString((SqlInt16) p);
|
|
8479 if (p is SqlInt32) return ToSqlString((SqlInt32) p);
|
|
8480 if (p is SqlInt64) return ToSqlString((SqlInt64) p);
|
|
8481 if (p is SqlMoney) return ToSqlString((SqlMoney) p);
|
|
8482 if (p is SqlSingle) return ToSqlString((SqlSingle) p);
|
|
8483 if (p is SqlXml) return ToSqlString((SqlXml) p);
|
|
8484 }
|
|
8485
|
|
8486 // Other Types
|
|
8487 //
|
|
8488 if (p is Binary) return ToSqlString((Binary) p);
|
|
8489 if (p is Byte[]) return ToSqlString((Byte[]) p);
|
|
8490 if (p is Type) return ToSqlString((Type) p);
|
|
8491 if (p is XElement) return ToSqlString((XElement) p);
|
|
8492 if (p is XmlDocument) return ToSqlString((XmlDocument) p);
|
|
8493
|
|
8494 throw CreateInvalidCastException(p.GetType(), typeof(SqlString));
|
|
8495 }
|
|
8496
|
|
8497 #endif
|
|
8498
|
|
8499 #endregion
|
|
8500
|
|
8501 #region SqlXml
|
|
8502
|
|
8503 #if !SILVERLIGHT
|
|
8504
|
|
8505 // Simple Types
|
|
8506 //
|
|
8507 /// <summary>Converts the value from <c>String</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8508 public static SqlXml ToSqlXml(String p) { return p == null ? SqlXml.Null : new SqlXml(new XmlTextReader(new StringReader(p))); }
|
|
8509
|
|
8510 // Sql Types
|
|
8511 //
|
|
8512 /// <summary>Converts the value from <c>SqlBinary</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8513 public static SqlXml ToSqlXml(SqlBinary p) { return p.IsNull ? SqlXml.Null : new SqlXml(new MemoryStream(p.Value)); }
|
|
8514 /// <summary>Converts the value from <c>SqlBytes</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8515 public static SqlXml ToSqlXml(SqlBytes p) { return p.IsNull ? SqlXml.Null : new SqlXml(p.Stream); }
|
|
8516 /// <summary>Converts the value from <c>SqlChars</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8517 public static SqlXml ToSqlXml(SqlChars p) { return p.IsNull ? SqlXml.Null : new SqlXml(new XmlTextReader(new StringReader(p.ToSqlString().Value))); }
|
|
8518 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8519 public static SqlXml ToSqlXml(SqlString p) { return p.IsNull ? SqlXml.Null : new SqlXml(new XmlTextReader(new StringReader(p.Value))); }
|
|
8520
|
|
8521 // Other Types
|
|
8522 //
|
|
8523 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8524 public static SqlXml ToSqlXml(Binary p) { return p == null ? SqlXml.Null : new SqlXml(new MemoryStream(p.ToArray())); }
|
|
8525 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8526 public static SqlXml ToSqlXml(Byte[] p) { return p == null ? SqlXml.Null : new SqlXml(new MemoryStream(p)); }
|
|
8527 /// <summary>Converts the value from <c>Char[]</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8528 public static SqlXml ToSqlXml(Char[] p) { return p == null ? SqlXml.Null : new SqlXml(new XmlTextReader(new StringReader(new string(p)))); }
|
|
8529 /// <summary>Converts the value from <c>Stream</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8530 public static SqlXml ToSqlXml(Stream p) { return p == null ? SqlXml.Null : new SqlXml(p); }
|
|
8531 /// <summary>Converts the value from <c>XElement</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8532 public static SqlXml ToSqlXml(XElement p) { return p == null ? SqlXml.Null : new SqlXml(new XmlTextReader(new StringReader(p.ToString()))); }
|
|
8533 /// <summary>Converts the value from <c>XmlDocument</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8534 public static SqlXml ToSqlXml(XmlDocument p) { return p == null ? SqlXml.Null : new SqlXml(new XmlTextReader(new StringReader(p.InnerXml))); }
|
|
8535 /// <summary>Converts the value from <c>XmlReader</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8536 public static SqlXml ToSqlXml(XmlReader p) { return p == null ? SqlXml.Null : new SqlXml(p); }
|
|
8537
|
|
8538 // From Object
|
|
8539 //
|
|
8540 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>SqlXml</c> value.</summary>
|
|
8541 public static SqlXml ToSqlXml(object p)
|
|
8542 {
|
|
8543 if (p == null) return SqlXml.Null;
|
|
8544
|
|
8545 if (p is SqlXml) return (SqlXml)p;
|
|
8546
|
|
8547 var type = p.GetType();
|
|
8548
|
|
8549 // Primitive types
|
|
8550 //
|
|
8551 switch (Type.GetTypeCode(type))
|
|
8552 {
|
|
8553 case TypeCode.DBNull : return SqlXml.Null;
|
|
8554 case TypeCode.String : return ToSqlXml((String)p);
|
|
8555 }
|
|
8556
|
|
8557 // Sql Types
|
|
8558 //
|
|
8559 if (p is INullable)
|
|
8560 {
|
|
8561 if (p is SqlBinary) return ToSqlXml((SqlBinary) p);
|
|
8562 if (p is SqlBytes) return ToSqlXml((SqlBytes) p);
|
|
8563 if (p is SqlChars) return ToSqlXml((SqlChars) p);
|
|
8564 if (p is SqlString) return ToSqlXml((SqlString) p);
|
|
8565 }
|
|
8566
|
|
8567 // Other Types
|
|
8568 //
|
|
8569 if (p is Binary) return ToSqlXml((Binary) p);
|
|
8570 if (p is Byte[]) return ToSqlXml((Byte[]) p);
|
|
8571 if (p is Char[]) return ToSqlXml((Char[]) p);
|
|
8572 if (p is Stream) return ToSqlXml((Stream) p);
|
|
8573 if (p is XElement) return ToSqlXml((XElement) p);
|
|
8574 if (p is XmlDocument) return ToSqlXml((XmlDocument)p);
|
|
8575 if (p is XmlReader) return ToSqlXml((XmlReader) p);
|
|
8576
|
|
8577 throw CreateInvalidCastException(p.GetType(), typeof(SqlXml));
|
|
8578 }
|
|
8579
|
|
8580 #endif
|
|
8581
|
|
8582 #endregion
|
|
8583
|
|
8584 #endregion
|
|
8585
|
|
8586 #region Other Types
|
|
8587
|
|
8588 #region Binary
|
|
8589
|
|
8590 #endregion
|
|
8591
|
|
8592 #region Byte[]
|
|
8593
|
|
8594 // Simple Types
|
|
8595 //
|
|
8596 /// <summary>Converts the value from <c>Boolean</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8597 public static Byte[] ToByteArray(Boolean p) { return BitConverter.GetBytes(p); }
|
|
8598 /// <summary>Converts the value from <c>Byte</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8599 public static Byte[] ToByteArray(Byte p) { return new[] { p }; }
|
|
8600 /// <summary>Converts the value from <c>Char</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8601 public static Byte[] ToByteArray(Char p) { return BitConverter.GetBytes(p); }
|
|
8602 #if !SILVERLIGHT
|
|
8603 /// <summary>Converts the value from <c>DateTime</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8604 public static Byte[] ToByteArray(DateTime p) { return ToByteArray(p.ToBinary()); }
|
|
8605 #endif
|
|
8606 #if !SILVERLIGHT
|
|
8607 /// <summary>Converts the value from <c>DateTimeOffset</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8608 public static Byte[] ToByteArray(DateTimeOffset p) { return ToByteArray(p.LocalDateTime.ToBinary()); }
|
|
8609 #endif
|
|
8610 /// <summary>Converts the value from <c>Double</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8611 public static Byte[] ToByteArray(Double p) { return BitConverter.GetBytes(p); }
|
|
8612 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8613 public static Byte[] ToByteArray(Guid p) { return p == Guid.Empty ? (Byte[])null : p.ToByteArray(); }
|
|
8614 /// <summary>Converts the value from <c>Int16</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8615 public static Byte[] ToByteArray(Int16 p) { return BitConverter.GetBytes(p); }
|
|
8616 /// <summary>Converts the value from <c>Int32</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8617 public static Byte[] ToByteArray(Int32 p) { return BitConverter.GetBytes(p); }
|
|
8618 /// <summary>Converts the value from <c>Int64</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8619 public static Byte[] ToByteArray(Int64 p) { return BitConverter.GetBytes(p); }
|
|
8620 /// <summary>Converts the value from <c>SByte</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8621 [CLSCompliant(false)]
|
|
8622 public static Byte[] ToByteArray(SByte p) { return new[] { checked((Byte)p) }; }
|
|
8623 /// <summary>Converts the value from <c>Single</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8624 public static Byte[] ToByteArray(Single p) { return BitConverter.GetBytes(p); }
|
|
8625 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8626 public static Byte[] ToByteArray(String p) { return p == null ? (Byte[])null : System.Text.Encoding.UTF8.GetBytes(p); }
|
|
8627 /// <summary>Converts the value from <c>TimeSpan</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8628 public static Byte[] ToByteArray(TimeSpan p) { return ToByteArray(p.Ticks); }
|
|
8629 /// <summary>Converts the value from <c>UInt16</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8630 [CLSCompliant(false)]
|
|
8631 public static Byte[] ToByteArray(UInt16 p) { return BitConverter.GetBytes(p); }
|
|
8632 /// <summary>Converts the value from <c>UInt32</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8633 [CLSCompliant(false)]
|
|
8634 public static Byte[] ToByteArray(UInt32 p) { return BitConverter.GetBytes(p); }
|
|
8635 /// <summary>Converts the value from <c>UInt64</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8636 [CLSCompliant(false)]
|
|
8637 public static Byte[] ToByteArray(UInt64 p) { return BitConverter.GetBytes(p); }
|
|
8638
|
|
8639 // Nullable Types
|
|
8640 //
|
|
8641 /// <summary>Converts the value from <c>Boolean?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8642 public static Byte[] ToByteArray(Boolean? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8643 /// <summary>Converts the value from <c>Byte?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8644 public static Byte[] ToByteArray(Byte? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8645 /// <summary>Converts the value from <c>Char?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8646 public static Byte[] ToByteArray(Char? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8647 #if !SILVERLIGHT
|
|
8648 /// <summary>Converts the value from <c>DateTime?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8649 public static Byte[] ToByteArray(DateTime? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8650 #endif
|
|
8651 #if !SILVERLIGHT
|
|
8652 /// <summary>Converts the value from <c>DateTimeOffset?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8653 public static Byte[] ToByteArray(DateTimeOffset? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8654 #endif
|
|
8655 /// <summary>Converts the value from <c>Decimal?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8656 public static Byte[] ToByteArray(Decimal? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8657 /// <summary>Converts the value from <c>Double?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8658 public static Byte[] ToByteArray(Double? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8659 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8660 public static Byte[] ToByteArray(Guid? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8661 /// <summary>Converts the value from <c>Int16?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8662 public static Byte[] ToByteArray(Int16? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8663 /// <summary>Converts the value from <c>Int32?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8664 public static Byte[] ToByteArray(Int32? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8665 /// <summary>Converts the value from <c>Int64?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8666 public static Byte[] ToByteArray(Int64? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8667 /// <summary>Converts the value from <c>SByte?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8668 [CLSCompliant(false)]
|
|
8669 public static Byte[] ToByteArray(SByte? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8670 /// <summary>Converts the value from <c>Single?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8671 public static Byte[] ToByteArray(Single? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8672 /// <summary>Converts the value from <c>TimeSpan?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8673 public static Byte[] ToByteArray(TimeSpan? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8674 /// <summary>Converts the value from <c>UInt16?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8675 [CLSCompliant(false)]
|
|
8676 public static Byte[] ToByteArray(UInt16? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8677 /// <summary>Converts the value from <c>UInt32?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8678 [CLSCompliant(false)]
|
|
8679 public static Byte[] ToByteArray(UInt32? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8680 /// <summary>Converts the value from <c>UInt64?</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8681 [CLSCompliant(false)]
|
|
8682 public static Byte[] ToByteArray(UInt64? p) { return p.HasValue ? ToByteArray(p.Value) : (Byte[])null; }
|
|
8683
|
|
8684 // Other Types
|
|
8685 //
|
|
8686 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8687 public static Byte[] ToByteArray(Binary p) { return p == null ? (Byte[])null : p.ToArray(); }
|
|
8688
|
|
8689 #if !SILVERLIGHT
|
|
8690
|
|
8691 // Sql Types
|
|
8692 //
|
|
8693 /// <summary>Converts the value from <c>SqlBinary</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8694 public static Byte[] ToByteArray(SqlBinary p) { return p.IsNull ? (Byte[])null : p.Value; }
|
|
8695 /// <summary>Converts the value from <c>SqlBoolean</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8696 public static Byte[] ToByteArray(SqlBoolean p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8697 /// <summary>Converts the value from <c>SqlByte</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8698 public static Byte[] ToByteArray(SqlByte p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8699 /// <summary>Converts the value from <c>SqlBytes</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8700 public static Byte[] ToByteArray(SqlBytes p) { return p.IsNull ? (Byte[])null : p.Value; }
|
|
8701 /// <summary>Converts the value from <c>SqlDecimal</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8702 public static Byte[] ToByteArray(SqlDecimal p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8703 /// <summary>Converts the value from <c>SqlDouble</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8704 public static Byte[] ToByteArray(SqlDouble p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8705 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8706 public static Byte[] ToByteArray(SqlGuid p) { return p.IsNull ? (Byte[])null : p.ToByteArray(); }
|
|
8707 /// <summary>Converts the value from <c>SqlInt16</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8708 public static Byte[] ToByteArray(SqlInt16 p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8709 /// <summary>Converts the value from <c>SqlInt32</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8710 public static Byte[] ToByteArray(SqlInt32 p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8711 /// <summary>Converts the value from <c>SqlInt64</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8712 public static Byte[] ToByteArray(SqlInt64 p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8713 /// <summary>Converts the value from <c>SqlMoney</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8714 public static Byte[] ToByteArray(SqlMoney p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8715 /// <summary>Converts the value from <c>SqlSingle</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8716 public static Byte[] ToByteArray(SqlSingle p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8717 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8718 public static Byte[] ToByteArray(SqlString p) { return p.IsNull ? (Byte[])null : ToByteArray(p.Value); }
|
|
8719
|
|
8720 #endif
|
|
8721
|
|
8722 // From Object
|
|
8723 //
|
|
8724 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Byte[]</c> value.</summary>
|
|
8725 public static Byte[] ToByteArray(object p)
|
|
8726 {
|
|
8727 if (p == null) return null;
|
|
8728
|
|
8729 if (p is Byte[]) return (Byte[])p;
|
|
8730
|
|
8731 var type = p.GetType();
|
|
8732
|
|
8733 // Primitive types
|
|
8734 //
|
|
8735 switch (Type.GetTypeCode(type))
|
|
8736 {
|
|
8737 case TypeCode.DBNull : return null;
|
|
8738 case TypeCode.Decimal : return ToByteArray((Decimal) p);
|
|
8739 case TypeCode.String : return ToByteArray((String) p);
|
|
8740 case TypeCode.Byte : return ToByteArray((Byte) p);
|
|
8741 case TypeCode.SByte : return ToByteArray((SByte) p);
|
|
8742 #if !SILVERLIGHT
|
|
8743 case TypeCode.DateTime : return ToByteArray((DateTime)p);
|
|
8744 #endif
|
|
8745 case TypeCode.Int16 : return ToByteArray((Int16) p);
|
|
8746 case TypeCode.Int32 : return ToByteArray((Int32) p);
|
|
8747 case TypeCode.Int64 : return ToByteArray((Int64) p);
|
|
8748 case TypeCode.UInt16 : return ToByteArray((UInt16) p);
|
|
8749 case TypeCode.UInt32 : return ToByteArray((UInt32) p);
|
|
8750 case TypeCode.UInt64 : return ToByteArray((UInt64) p);
|
|
8751 case TypeCode.Single : return ToByteArray((Single) p);
|
|
8752 case TypeCode.Double : return ToByteArray((Double) p);
|
|
8753 case TypeCode.Boolean : return ToByteArray((Boolean) p);
|
|
8754 case TypeCode.Char : return ToByteArray((Char) p);
|
|
8755 }
|
|
8756
|
|
8757 // Simple Types
|
|
8758 //
|
|
8759 #if !SILVERLIGHT
|
|
8760 if (p is DateTimeOffset) return ToByteArray((DateTimeOffset) p);
|
|
8761 #endif
|
|
8762 if (p is Guid) return ToByteArray((Guid) p);
|
|
8763 if (p is TimeSpan) return ToByteArray((TimeSpan) p);
|
|
8764
|
|
8765 // Nullable Types
|
|
8766 //
|
|
8767 if (type.IsGenericType)
|
|
8768 {
|
|
8769 if (p is Boolean?) return ToByteArray((Boolean?) p);
|
|
8770 if (p is Byte?) return ToByteArray((Byte?) p);
|
|
8771 if (p is Char?) return ToByteArray((Char?) p);
|
|
8772 #if !SILVERLIGHT
|
|
8773 if (p is DateTime?) return ToByteArray((DateTime?) p);
|
|
8774 #endif
|
|
8775 #if !SILVERLIGHT
|
|
8776 if (p is DateTimeOffset?) return ToByteArray((DateTimeOffset?)p);
|
|
8777 #endif
|
|
8778 if (p is Decimal?) return ToByteArray((Decimal?) p);
|
|
8779 if (p is Double?) return ToByteArray((Double?) p);
|
|
8780 if (p is Guid?) return ToByteArray((Guid?) p);
|
|
8781 if (p is Int16?) return ToByteArray((Int16?) p);
|
|
8782 if (p is Int32?) return ToByteArray((Int32?) p);
|
|
8783 if (p is Int64?) return ToByteArray((Int64?) p);
|
|
8784 if (p is SByte?) return ToByteArray((SByte?) p);
|
|
8785 if (p is Single?) return ToByteArray((Single?) p);
|
|
8786 if (p is TimeSpan?) return ToByteArray((TimeSpan?) p);
|
|
8787 if (p is UInt16?) return ToByteArray((UInt16?) p);
|
|
8788 if (p is UInt32?) return ToByteArray((UInt32?) p);
|
|
8789 if (p is UInt64?) return ToByteArray((UInt64?) p);
|
|
8790 }
|
|
8791
|
|
8792 // Other Types
|
|
8793 //
|
|
8794 if (p is Binary) return ToByteArray((Binary) p);
|
|
8795 if (p is Char[]) return ToByteArray((Char[]) p);
|
|
8796 if (p is Stream) return ToByteArray((Stream) p);
|
|
8797
|
|
8798 #if !SILVERLIGHT
|
|
8799
|
|
8800 // Sql Types
|
|
8801 //
|
|
8802 if (p is INullable)
|
|
8803 {
|
|
8804 if (p is SqlBinary) return ToByteArray((SqlBinary) p);
|
|
8805 if (p is SqlBoolean) return ToByteArray((SqlBoolean) p);
|
|
8806 if (p is SqlByte) return ToByteArray((SqlByte) p);
|
|
8807 if (p is SqlBytes) return ToByteArray((SqlBytes) p);
|
|
8808 if (p is SqlDecimal) return ToByteArray((SqlDecimal) p);
|
|
8809 if (p is SqlDouble) return ToByteArray((SqlDouble) p);
|
|
8810 if (p is SqlGuid) return ToByteArray((SqlGuid) p);
|
|
8811 if (p is SqlInt16) return ToByteArray((SqlInt16) p);
|
|
8812 if (p is SqlInt32) return ToByteArray((SqlInt32) p);
|
|
8813 if (p is SqlInt64) return ToByteArray((SqlInt64) p);
|
|
8814 if (p is SqlMoney) return ToByteArray((SqlMoney) p);
|
|
8815 if (p is SqlSingle) return ToByteArray((SqlSingle) p);
|
|
8816 if (p is SqlString) return ToByteArray((SqlString) p);
|
|
8817 }
|
|
8818
|
|
8819 #endif
|
|
8820
|
|
8821 throw CreateInvalidCastException(p.GetType(), typeof(Byte[]));
|
|
8822 }
|
|
8823
|
|
8824 #endregion
|
|
8825
|
|
8826 #region Char[]
|
|
8827
|
|
8828 #endregion
|
|
8829
|
|
8830 #region Stream
|
|
8831
|
|
8832 // Simple Types
|
|
8833 //
|
|
8834 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8835 public static Stream ToStream(Guid p) { return p == Guid.Empty ? Stream.Null : new MemoryStream(p.ToByteArray()); }
|
|
8836
|
|
8837 // Nullable Types
|
|
8838 //
|
|
8839 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8840 public static Stream ToStream(Guid? p) { return p.HasValue ? new MemoryStream(p.Value.ToByteArray()) : Stream.Null; }
|
|
8841
|
|
8842 // Other Types
|
|
8843 //
|
|
8844 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8845 public static Stream ToStream(Binary p) { return p == null ? Stream.Null : new MemoryStream(p.ToArray()); }
|
|
8846 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8847 public static Stream ToStream(Byte[] p) { return p == null ? Stream.Null : new MemoryStream(p); }
|
|
8848
|
|
8849 #if !SILVERLIGHT
|
|
8850
|
|
8851 // Sql Types
|
|
8852 //
|
|
8853 /// <summary>Converts the value from <c>SqlBinary</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8854 public static Stream ToStream(SqlBinary p) { return p.IsNull ? Stream.Null : new MemoryStream(p.Value); }
|
|
8855 /// <summary>Converts the value from <c>SqlBytes</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8856 public static Stream ToStream(SqlBytes p) { return p.IsNull ? Stream.Null : p.Stream; }
|
|
8857 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8858 public static Stream ToStream(SqlGuid p) { return p.IsNull ? Stream.Null : new MemoryStream(p.Value.ToByteArray()); }
|
|
8859
|
|
8860 #endif
|
|
8861
|
|
8862 // From Object
|
|
8863 //
|
|
8864 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Stream</c> value.</summary>
|
|
8865 public static Stream ToStream(object p)
|
|
8866 {
|
|
8867 if (p == null || p is DBNull) return Stream.Null;
|
|
8868
|
|
8869 if (p is Stream) return (Stream)p;
|
|
8870
|
|
8871 // Simple Types
|
|
8872 //
|
|
8873 if (p is Guid) return ToStream((Guid) p);
|
|
8874
|
|
8875 // Nullable Types
|
|
8876 //
|
|
8877 var type = p.GetType();
|
|
8878
|
|
8879 if (type.IsGenericType)
|
|
8880 {
|
|
8881 if (p is Guid?) return ToStream((Guid?) p);
|
|
8882 }
|
|
8883
|
|
8884 // Other Types
|
|
8885 //
|
|
8886 if (p is Binary) return ToStream((Binary) p);
|
|
8887 if (p is Byte[]) return ToStream((Byte[]) p);
|
|
8888
|
|
8889 #if !SILVERLIGHT
|
|
8890
|
|
8891 // Sql Types
|
|
8892 //
|
|
8893 if (p is INullable)
|
|
8894 {
|
|
8895 if (p is SqlBinary) return ToStream((SqlBinary)p);
|
|
8896 if (p is SqlBytes) return ToStream((SqlBytes) p);
|
|
8897 if (p is SqlGuid) return ToStream((SqlGuid) p);
|
|
8898 }
|
|
8899
|
|
8900 #endif
|
|
8901
|
|
8902 throw CreateInvalidCastException(p.GetType(), typeof(Stream));
|
|
8903 }
|
|
8904
|
|
8905 #endregion
|
|
8906
|
|
8907 #region Type
|
|
8908
|
|
8909 // Simple Types
|
|
8910 //
|
|
8911 #if !SILVERLIGHT
|
|
8912 /// <summary>Converts the value from <c>Guid</c> to an equivalent <c>Type</c> value.</summary>
|
|
8913 public static Type ToType(Guid p) { return p == Guid.Empty ? (Type)null : Type.GetTypeFromCLSID(p); }
|
|
8914 #endif
|
|
8915 /// <summary>Converts the value from <c>String</c> to an equivalent <c>Type</c> value.</summary>
|
|
8916 public static Type ToType(String p) { return p == null ? (Type)null : Type.GetType(p); }
|
|
8917
|
|
8918 // Nullable Types
|
|
8919 //
|
|
8920 #if !SILVERLIGHT
|
|
8921 /// <summary>Converts the value from <c>Guid?</c> to an equivalent <c>Type</c> value.</summary>
|
|
8922 public static Type ToType(Guid? p) { return p.HasValue ? Type.GetTypeFromCLSID(p.Value) : (Type)null; }
|
|
8923 #endif
|
|
8924
|
|
8925 // Other Types
|
|
8926 //
|
|
8927 #if !SILVERLIGHT
|
|
8928 /// <summary>Converts the value from <c>Binary</c> to an equivalent <c>Type</c> value.</summary>
|
|
8929 public static Type ToType(Binary p) { return p == null ? (Type)null : Type.GetTypeFromCLSID(ToGuid(p.ToArray())); }
|
|
8930 #endif
|
|
8931 #if !SILVERLIGHT
|
|
8932 /// <summary>Converts the value from <c>Byte[]</c> to an equivalent <c>Type</c> value.</summary>
|
|
8933 public static Type ToType(Byte[] p) { return p == null ? (Type)null : Type.GetTypeFromCLSID(ToGuid(p)); }
|
|
8934 #endif
|
|
8935 /// <summary>Converts the value from <c>Char[]</c> to an equivalent <c>Type</c> value.</summary>
|
|
8936 public static Type ToType(Char[] p) { return p == null ? (Type)null : Type.GetType(new string(p)); }
|
|
8937
|
|
8938 #if !SILVERLIGHT
|
|
8939
|
|
8940 // Sql Types
|
|
8941 //
|
|
8942 /// <summary>Converts the value from <c>SqlChars</c> to an equivalent <c>Type</c> value.</summary>
|
|
8943 public static Type ToType(SqlChars p) { return p.IsNull ? (Type)null : Type.GetType(new string(p.Value)); }
|
|
8944 /// <summary>Converts the value from <c>SqlGuid</c> to an equivalent <c>Type</c> value.</summary>
|
|
8945 public static Type ToType(SqlGuid p) { return p.IsNull ? (Type)null : Type.GetTypeFromCLSID(p.Value); }
|
|
8946 /// <summary>Converts the value from <c>SqlString</c> to an equivalent <c>Type</c> value.</summary>
|
|
8947 public static Type ToType(SqlString p) { return p.IsNull ? (Type)null : Type.GetType(p.Value); }
|
|
8948
|
|
8949 #endif
|
|
8950
|
|
8951 // From Object
|
|
8952 //
|
|
8953 /// <summary>Converts the value from <c>Object</c> to an equivalent <c>Type</c> value.</summary>
|
|
8954 public static Type ToType(object p)
|
|
8955 {
|
|
8956 if (p == null) return null;
|
|
8957
|
|
8958 if (p is Type) return (Type)p;
|
|
8959
|
|
8960 var type = p.GetType();
|
|
8961
|
|
8962 // Primitive types
|
|
8963 //
|
|
8964 switch (Type.GetTypeCode(type))
|
|
8965 {
|
|
8966 case TypeCode.DBNull : return null;
|
|
8967 case TypeCode.String : return ToType((String)p);
|
|
8968 }
|
|
8969
|
|
8970 // Simple Types
|
|
8971 //
|
|
8972 #if !SILVERLIGHT
|
|
8973 if (p is Guid) return ToType((Guid) p);
|
|
8974 #endif
|
|
8975
|
|
8976 // Nullable Types
|
|
8977 //
|
|
8978 if (type.IsGenericType)
|
|
8979 {
|
|
8980 #if !SILVERLIGHT
|
|
8981 if (p is Guid?) return ToType((Guid?) p);
|
|
8982 #endif
|
|
8983 }
|
|
8984
|
|
8985 // Other Types
|
|
8986 //
|
|
8987 #if !SILVERLIGHT
|
|
8988 if (p is Binary) return ToType((Binary) p);
|
|
8989 #endif
|
|
8990 #if !SILVERLIGHT
|
|
8991 if (p is Byte[]) return ToType((Byte[]) p);
|
|
8992 #endif
|
|
8993 if (p is Char[]) return ToType((Char[]) p);
|
|
8994
|
|
8995 #if !SILVERLIGHT
|
|
8996
|
|
8997 // Sql Types
|
|
8998 //
|
|
8999 if (p is INullable)
|
|
9000 {
|
|
9001 if (p is SqlChars) return ToType((SqlChars) p);
|
|
9002 if (p is SqlGuid) return ToType((SqlGuid) p);
|
|
9003 if (p is SqlString) return ToType((SqlString)p);
|
|
9004 }
|
|
9005
|
|
9006 #endif
|
|
9007
|
|
9008 throw CreateInvalidCastException(p.GetType(), typeof(Type));
|
|
9009 }
|
|
9010
|
|
9011 #endregion
|
|
9012
|
|
9013 #region XmlDocument
|
|
9014
|
|
9015 #if !SILVERLIGHT
|
|
9016
|
|
9017 #endif
|
|
9018
|
|
9019 #endregion
|
|
9020
|
|
9021 #region XmlReader
|
|
9022
|
|
9023 #if !SILVERLIGHT
|
|
9024
|
|
9025 #endif
|
|
9026
|
|
9027 #endregion
|
|
9028
|
|
9029 #endregion
|
|
9030 }
|
|
9031 }
|