annotate Source/Mapping/Fluent/MapFieldMap.cs @ 6:11b6da379593

Исправлена странная ошибка при использовании OfType<...>().Where(...)
author cin
date Mon, 05 Dec 2016 05:50:52 +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.Collections.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using System.Linq.Expressions;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Reflection.Extension;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 namespace BLToolkit.Mapping.Fluent
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 /// Fluent settings for field
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 /// <typeparam name="T"></typeparam>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 /// <typeparam name="TR"></typeparam>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 public partial class MapFieldMap<T, TR> : FluentMap<T>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 private readonly Expression<Func<T, TR>> _prop;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 public MapFieldMap(TypeExtension owner, List<IFluentMap> childs, Expression<Func<T, TR>> prop)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 : base(owner, childs)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 this._prop = prop;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 /// PrimaryKeyAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 /// <typeparam name="TR"></typeparam>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 /// <param name="order"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 public MapFieldMap<T, TR> PrimaryKey(int order = -1)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 return this.PrimaryKey(this._prop, order);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 public MapFieldMap<T, TR> LazyInstance(bool isLazy = true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 return this.LazyInstance(this._prop, isLazy);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 /// NonUpdatableAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 public MapFieldMap<T, TR> NonUpdatable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 return this.NonUpdatable(this._prop);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 /// IdentityAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 /// <typeparam name="TR"></typeparam>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 public MapFieldMap<T, TR> Identity()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 return this.Identity(this._prop);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 /// SqlIgnoreAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 /// <param name="ignore"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 public MapFieldMap<T, TR> SqlIgnore(bool ignore = true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 return this.SqlIgnore(this._prop, ignore);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 /// MapIgnoreAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 /// <param name="ignore"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 public MapFieldMap<T, TR> MapIgnore(bool ignore = true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 return this.MapIgnore(this._prop, ignore);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 /// TrimmableAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 public MapFieldMap<T, TR> Trimmable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 return this.Trimmable(this._prop);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 /// MapValueAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 /// <typeparam name="TV"> </typeparam>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 /// <param name="origValue"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 /// <param name="value"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 /// <param name="values"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 public MapFieldMap<T, TR> MapValue<TV>(TR origValue, TV value, params TV[] values)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100 return this.MapValue(this._prop, origValue, value, values);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 /// DefaultValueAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 /// <param name="value"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 public MapFieldMap<T, TR> DefaultValue(TR value)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110 return this.DefaultValue(this._prop, value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 /// DbTypeAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 /// <param name="dbType"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 public MapFieldMap<T, TR> DbType(DbType dbType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120 return this.DbType(this._prop, dbType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 /// MemberMapperAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 /// at the Moment you also have to specify MapIgnore(false) when using Complex types with Member Mapper.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127 /// <param name="value"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 public MapFieldMap<T, TR> MemberMapper(Type memberMapperType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 return this.MemberMapper(this._prop, memberMapperType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135 /// MemberMapperAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 /// at the Moment you also have to specify MapIgnore(false) when using Complex types with Member Mapper.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 /// <param name="value"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 public MapFieldMap<T, TR> MemberMapper(Type memberType, Type memberMapperType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 return this.MemberMapper(this._prop, memberType, memberMapperType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 /// NullableAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148 /// <param name="isNullable"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 public MapFieldMap<T, TR> Nullable(bool isNullable = true)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 return this.Nullable(this._prop, isNullable);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156 /// NullValueAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 /// <param name="value"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 public MapFieldMap<T, TR> NullValue(TR value)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 return this.NullValue(this._prop, value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166 /// AssociationAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 /// <typeparam name="TRt"></typeparam>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 /// <param name="canBeNull"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 /// <param name="thisKey"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171 /// <param name="thisKeys"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 public AssociationMap<TRt> Association<TRt>(bool canBeNull, Expression<Func<T, TRt>> thisKey, params Expression<Func<T, TRt>>[] thisKeys)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 return this.Association(this._prop, canBeNull, thisKey, thisKeys);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 /// AssociationAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181 /// <typeparam name="TRt"></typeparam>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 /// <param name="thisKey"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 /// <param name="thisKeys"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 public AssociationMap<TRt> Association<TRt>(Expression<Func<T, TRt>> thisKey, params Expression<Func<T, TRt>>[] thisKeys)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 return this.Association(this._prop, thisKey, thisKeys);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 private MapFieldMap<T, TR> Association<TRt, TRf, TRo>(bool canBeNull
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191 , IEnumerable<Expression<Func<T, TRt>>> thisKeys, IEnumerable<Expression<Func<TRf, TRo>>> otherKeys)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193 return this.Association(this._prop, canBeNull, thisKeys, otherKeys);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 /// RelationAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 /// <param name="slaveIndex"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200 /// <param name="masterIndex"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202 public MapFieldMap<T, TR> Relation(string slaveIndex = null, string masterIndex = null)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204 return this.Relation(this._prop, slaveIndex, masterIndex);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 /// RelationAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 /// <param name="slaveIndex"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 /// <param name="masterIndex"></param>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 /// <returns></returns>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 public MapFieldMap<T, TR> Relation(string[] slaveIndex, string[] masterIndex)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 return this.Relation(this._prop, slaveIndex, masterIndex);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 }