annotate Source/Mapping/MapSetDataT.cs @ 9:1e85f66cf767 default tip

update bltoolkit
author nickolay
date Thu, 05 Apr 2018 20:53:26 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Data.SqlTypes;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using BLToolkit.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 namespace BLToolkit.Mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 [CLSCompliant(false)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 public static class MapSetData<T>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 public abstract class MB<V>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 public abstract void To(IMapDataDestination d, object o, int i, V v);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public static void To(IMapDataDestination d, object o, int i, T v)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 I.To(d, o, i, v);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 public static MB<T> I = GetSetter();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 private static MB<T> GetSetter()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 Type t = typeof(T);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 // Scalar Types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 if (t == typeof(SByte)) return (MB<T>)(object)(new I8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 if (t == typeof(Int16)) return (MB<T>)(object)(new I16());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 if (t == typeof(Int32)) return (MB<T>)(object)(new I32());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 if (t == typeof(Int64)) return (MB<T>)(object)(new I64());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 if (t == typeof(Byte)) return (MB<T>)(object)(new U8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 if (t == typeof(UInt16)) return (MB<T>)(object)(new U16());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 if (t == typeof(UInt32)) return (MB<T>)(object)(new U32());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 if (t == typeof(UInt64)) return (MB<T>)(object)(new U64());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 if (t == typeof(Single)) return (MB<T>)(object)(new R4());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 if (t == typeof(Double)) return (MB<T>)(object)(new R8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 if (t == typeof(Boolean)) return (MB<T>)(object)(new B());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 if (t == typeof(Decimal)) return (MB<T>)(object)(new D());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 if (t == typeof(Char)) return (MB<T>)(object)(new C());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 if (t == typeof(Guid)) return (MB<T>)(object)(new G());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 if (t == typeof(DateTime)) return (MB<T>)(object)(new DT());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 if (t == typeof(DateTimeOffset)) return (MB<T>)(object)(new DTO());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 // Enums.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 if (t.IsEnum)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 t = Enum.GetUnderlyingType(t);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 if (t == typeof(SByte)) return new EI8<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 if (t == typeof(Int16)) return new EI16<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 if (t == typeof(Int32)) return new EI32<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 if (t == typeof(Int64)) return new EI64<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 if (t == typeof(Byte)) return new EU8<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 if (t == typeof(UInt16)) return new EU16<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 if (t == typeof(UInt32)) return new EU32<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 if (t == typeof(UInt64)) return new EU64<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 // Nullable Types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 if (t == typeof(SByte?)) return (MB<T>)(object)(new NI8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 if (t == typeof(Int16?)) return (MB<T>)(object)(new NI16());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 if (t == typeof(Int32?)) return (MB<T>)(object)(new NI32());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 if (t == typeof(Int64?)) return (MB<T>)(object)(new NI64());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 if (t == typeof(Byte?)) return (MB<T>)(object)(new NU8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 if (t == typeof(UInt16?)) return (MB<T>)(object)(new NU16());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 if (t == typeof(UInt32?)) return (MB<T>)(object)(new NU32());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 if (t == typeof(UInt64?)) return (MB<T>)(object)(new NU64());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 if (t == typeof(Single?)) return (MB<T>)(object)(new NR4());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 if (t == typeof(Double?)) return (MB<T>)(object)(new NR8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 if (t == typeof(Boolean?)) return (MB<T>)(object)(new NB());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 if (t == typeof(Decimal?)) return (MB<T>)(object)(new ND());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 if (t == typeof(Char?)) return (MB<T>)(object)(new NC());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 if (t == typeof(Guid?)) return (MB<T>)(object)(new NG());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 if (t == typeof(DateTime?)) return (MB<T>)(object)(new NDT());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 if (t == typeof(DateTimeOffset?)) return (MB<T>)(object)(new NDTO());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 // Nullable Enums.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 if (TypeHelper.IsNullable(t) && Nullable.GetUnderlyingType(t).IsEnum)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 Type enumType = Nullable.GetUnderlyingType(t);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 t = Enum.GetUnderlyingType(enumType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 if (t == typeof(SByte)) return (MB<T>)Activator.CreateInstance(typeof(NEI8<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 if (t == typeof(Int16)) return (MB<T>)Activator.CreateInstance(typeof(NEI16<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 if (t == typeof(Int32)) return (MB<T>)Activator.CreateInstance(typeof(NEI32<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 if (t == typeof(Int64)) return (MB<T>)Activator.CreateInstance(typeof(NEI64<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 if (t == typeof(Byte)) return (MB<T>)Activator.CreateInstance(typeof(NEU8<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 if (t == typeof(UInt16)) return (MB<T>)Activator.CreateInstance(typeof(NEU16<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 if (t == typeof(UInt32)) return (MB<T>)Activator.CreateInstance(typeof(NEU32<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 if (t == typeof(UInt64)) return (MB<T>)Activator.CreateInstance(typeof(NEU64<>).MakeGenericType(typeof(T), enumType));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 #if !SILVERLIGHT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 // SqlTypes.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 if (t == typeof(SqlString)) return (MB<T>)(object)(new dbS());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 if (t == typeof(SqlByte)) return (MB<T>)(object)(new dbU8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 if (t == typeof(SqlInt16)) return (MB<T>)(object)(new dbI16());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 if (t == typeof(SqlInt32)) return (MB<T>)(object)(new dbI32());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 if (t == typeof(SqlInt64)) return (MB<T>)(object)(new dbI64());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 if (t == typeof(SqlSingle)) return (MB<T>)(object)(new dbR4());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 if (t == typeof(SqlDouble)) return (MB<T>)(object)(new dbR8());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 if (t == typeof(SqlDecimal)) return (MB<T>)(object)(new dbD());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 if (t == typeof(SqlMoney)) return (MB<T>)(object)(new dbM());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 if (t == typeof(SqlBoolean)) return (MB<T>)(object)(new dbB());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 if (t == typeof(SqlGuid)) return (MB<T>)(object)(new dbG());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 if (t == typeof(SqlDateTime)) return (MB<T>)(object)(new dbDT());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 return new Default<T>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 // Default setter.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 public sealed class Default<V> : MB<V> { public override void To(IMapDataDestination d, object o, int i, V v) { d.SetValue (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 // Scalar Types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 sealed class I8 : MB<SByte> { public override void To(IMapDataDestination d, object o, int i, SByte v) { d.SetSByte (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 sealed class I16 : MB<Int16> { public override void To(IMapDataDestination d, object o, int i, Int16 v) { d.SetInt16 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 sealed class I32 : MB<Int32> { public override void To(IMapDataDestination d, object o, int i, Int32 v) { d.SetInt32 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 sealed class I64 : MB<Int64> { public override void To(IMapDataDestination d, object o, int i, Int64 v) { d.SetInt64 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 sealed class U8 : MB<Byte> { public override void To(IMapDataDestination d, object o, int i, Byte v) { d.SetByte (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 sealed class U16 : MB<UInt16> { public override void To(IMapDataDestination d, object o, int i, UInt16 v) { d.SetUInt16 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 sealed class U32 : MB<UInt32> { public override void To(IMapDataDestination d, object o, int i, UInt32 v) { d.SetUInt32 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 sealed class U64 : MB<UInt64> { public override void To(IMapDataDestination d, object o, int i, UInt64 v) { d.SetUInt64 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 sealed class R4 : MB<Single> { public override void To(IMapDataDestination d, object o, int i, Single v) { d.SetSingle (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 sealed class R8 : MB<Double> { public override void To(IMapDataDestination d, object o, int i, Double v) { d.SetDouble (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 sealed class B : MB<Boolean> { public override void To(IMapDataDestination d, object o, int i, Boolean v) { d.SetBoolean (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 sealed class D : MB<Decimal> { public override void To(IMapDataDestination d, object o, int i, Decimal v) { d.SetDecimal (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154 sealed class C : MB<Char> { public override void To(IMapDataDestination d, object o, int i, Char v) { d.SetChar (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 sealed class G : MB<Guid> { public override void To(IMapDataDestination d, object o, int i, Guid v) { d.SetGuid (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 sealed class DT : MB<DateTime> { public override void To(IMapDataDestination d, object o, int i, DateTime v) { d.SetDateTime (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 sealed class DTO : MB<DateTimeOffset>{ public override void To(IMapDataDestination d, object o, int i, DateTimeOffset v) { d.SetDateTimeOffset (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159 // Enums.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 sealed class EI8<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetSByte (o, i, (SByte)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 sealed class EI16<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetInt16 (o, i, (Int16)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 sealed class EI32<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetInt32 (o, i, (Int32)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 sealed class EI64<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetInt64 (o, i, (Int64)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 sealed class EU8<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetByte (o, i, (Byte)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 sealed class EU16<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetUInt16 (o, i, (UInt16)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 sealed class EU32<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetUInt32 (o, i, (UInt32)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 sealed class EU64<E> : MB<E> { public override void To(IMapDataDestination d, object o, int i, E v) { d.SetUInt64 (o, i, (UInt64)(object)v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 // Nullable Types.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 sealed class NI8 : MB<SByte?> { public override void To(IMapDataDestination d, object o, int i, SByte? v) { d.SetNullableSByte (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 sealed class NI16 : MB<Int16?> { public override void To(IMapDataDestination d, object o, int i, Int16? v) { d.SetNullableInt16 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 sealed class NI32 : MB<Int32?> { public override void To(IMapDataDestination d, object o, int i, Int32? v) { d.SetNullableInt32 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 sealed class NI64 : MB<Int64?> { public override void To(IMapDataDestination d, object o, int i, Int64? v) { d.SetNullableInt64 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 sealed class NU8 : MB<Byte?> { public override void To(IMapDataDestination d, object o, int i, Byte? v) { d.SetNullableByte (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 sealed class NU16 : MB<UInt16?> { public override void To(IMapDataDestination d, object o, int i, UInt16? v) { d.SetNullableUInt16 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 sealed class NU32 : MB<UInt32?> { public override void To(IMapDataDestination d, object o, int i, UInt32? v) { d.SetNullableUInt32 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 sealed class NU64 : MB<UInt64?> { public override void To(IMapDataDestination d, object o, int i, UInt64? v) { d.SetNullableUInt64 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 sealed class NR4 : MB<Single?> { public override void To(IMapDataDestination d, object o, int i, Single? v) { d.SetNullableSingle (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 sealed class NR8 : MB<Double?> { public override void To(IMapDataDestination d, object o, int i, Double? v) { d.SetNullableDouble (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 sealed class NB : MB<Boolean?> { public override void To(IMapDataDestination d, object o, int i, Boolean? v) { d.SetNullableBoolean (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 sealed class ND : MB<Decimal?> { public override void To(IMapDataDestination d, object o, int i, Decimal? v) { d.SetNullableDecimal (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 sealed class NC : MB<Char?> { public override void To(IMapDataDestination d, object o, int i, Char? v) { d.SetNullableChar (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 sealed class NG : MB<Guid?> { public override void To(IMapDataDestination d, object o, int i, Guid? v) { d.SetNullableGuid (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 sealed class NDT : MB<DateTime?> { public override void To(IMapDataDestination d, object o, int i, DateTime? v) { d.SetNullableDateTime (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 sealed class NDTO : MB<DateTimeOffset?>{ public override void To(IMapDataDestination d, object o, int i, DateTimeOffset? v) { d.SetNullableDateTimeOffset (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 // Nullable Enums.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 sealed class NEI8<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetSByte (o, i, (SByte)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 sealed class NEI16<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetInt16 (o, i, (Int16)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 sealed class NEI32<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetInt32 (o, i, (Int32)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 sealed class NEI64<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetInt64 (o, i, (Int64)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 sealed class NEU8<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetByte (o, i, (Byte)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 sealed class NEU16<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetUInt16(o, i, (UInt16)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 sealed class NEU32<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetUInt32(o, i, (UInt32)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 sealed class NEU64<E> : MB<E?> where E : struct { public override void To(IMapDataDestination d, object o, int i, E? v) { /*if (null == v) d.SetNull(o, i); else*/ d.SetUInt64(o, i, (UInt64)(object)v.Value); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 #if !SILVERLIGHT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 // SqlTypes.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 sealed class dbS : MB<SqlString> { public override void To(IMapDataDestination d, object o, int i, SqlString v) { d.SetSqlString (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 sealed class dbU8 : MB<SqlByte> { public override void To(IMapDataDestination d, object o, int i, SqlByte v) { d.SetSqlByte (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 sealed class dbI16 : MB<SqlInt16> { public override void To(IMapDataDestination d, object o, int i, SqlInt16 v) { d.SetSqlInt16 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 sealed class dbI32 : MB<SqlInt32> { public override void To(IMapDataDestination d, object o, int i, SqlInt32 v) { d.SetSqlInt32 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 sealed class dbI64 : MB<SqlInt64> { public override void To(IMapDataDestination d, object o, int i, SqlInt64 v) { d.SetSqlInt64 (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 sealed class dbR4 : MB<SqlSingle> { public override void To(IMapDataDestination d, object o, int i, SqlSingle v) { d.SetSqlSingle (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 sealed class dbR8 : MB<SqlDouble> { public override void To(IMapDataDestination d, object o, int i, SqlDouble v) { d.SetSqlDouble (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219 sealed class dbD : MB<SqlDecimal> { public override void To(IMapDataDestination d, object o, int i, SqlDecimal v) { d.SetSqlDecimal (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 sealed class dbM : MB<SqlMoney> { public override void To(IMapDataDestination d, object o, int i, SqlMoney v) { d.SetSqlMoney (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 sealed class dbB : MB<SqlBoolean> { public override void To(IMapDataDestination d, object o, int i, SqlBoolean v) { d.SetSqlBoolean (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 sealed class dbG : MB<SqlGuid> { public override void To(IMapDataDestination d, object o, int i, SqlGuid v) { d.SetSqlGuid (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224 sealed class dbDT : MB<SqlDateTime> { public override void To(IMapDataDestination d, object o, int i, SqlDateTime v) { d.SetSqlDateTime (o, i, v); } }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226 #endif
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 }