/Bowling/Bowling.Domain/App_Data/Bowling.Domain.XML
XML | 1452 lines | 1427 code | 25 blank | 0 comment | 0 complexity | 8b6beac44945d8be8ca12f3a8f9a4a9b MD5 | raw file
Large files files are truncated, but you can click here to view the full file
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>Bowling.Domain</name>
5 </assembly>
6 <members>
7 <member name="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">
8 <summary>
9 Defines the behavior of a read-only repository of items.
10 </summary>
11 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
12 </member>
13 <member name="M:Bowling.Domain.Abstract.IReadOnlyRepository`1.GetAsync(System.Func{System.Linq.IQueryable{`0},System.Linq.IQueryable{`0}},System.Threading.CancellationToken)">
14 <summary>
15 Retrieves all items in the repository satisfied by the specified query asynchronously.
16 </summary>
17 <param name="queryShaper">The <see cref="T:System.Func`2">function</see> that shapes the <see cref="T:System.Linq.IQueryable`1">query</see> to execute.</param>
18 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
19 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the retrieved <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
20 of <typeparamref name="T">items</typeparamref>.</returns>
21 <example>The following example demonstrates how to paginate the items in a repository using an example query.
22 <code><![CDATA[
23 using Microsoft.DesignPatterns.Examples;
24 using System;
25 using System.Collections.Generic;
26 using System.Linq;
27 using System.Threading;
28 using System.Threading.Tasks;
29
30 public async static void Main()
31 {
32 var index = 0;
33 var repository = new MyRepository();
34 var cancellationToken = new CancellationToken();
35
36 foreach ( var item in await repository.GetAsync( q => q.Where( i => i.FirstName.StartsWith( "Jo" ) ).OrderBy( i => i.LastName ), cancellationToken );
37 Console.WriteLine( i => i.ToString() );
38 }
39 ]]>
40 </code></example>
41 </member>
42 <member name="M:Bowling.Domain.Abstract.IReadOnlyRepository`1.GetAsync``1(System.Func{System.Linq.IQueryable{`0},``0},System.Threading.CancellationToken)">
43 <summary>
44 Retrieves a query result asynchronously.
45 </summary>
46 <typeparam name="TResult">The <see cref="T:System.Type">type</see> of result to retrieve.</typeparam>
47 <param name="queryShaper">The <see cref="T:System.Func`2">function</see> that shapes the <see cref="T:System.Linq.IQueryable`1">query</see> to execute.</param>
48 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
49 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <typeparamref name="TResult">result</typeparamref> of the operation.</returns>
50 </member>
51 <member name="T:Bowling.Domain.Abstract.IRepository`1">
52 <summary>
53 Defines the behavior of a repository of items.
54 </summary>
55 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
56 </member>
57 <member name="M:Bowling.Domain.Abstract.IRepository`1.Add(`0)">
58 <summary>
59 Adds a new item to the repository.
60 </summary>
61 <param name="item">The new item to add.</param>
62 </member>
63 <member name="M:Bowling.Domain.Abstract.IRepository`1.Remove(`0)">
64 <summary>
65 Removes an item from the repository.
66 </summary>
67 <param name="item">The item to remove.</param>
68 </member>
69 <member name="M:Bowling.Domain.Abstract.IRepository`1.Update(`0)">
70 <summary>
71 Updates an existing item in the repository.
72 </summary>
73 <param name="item">The item to update.</param>
74 </member>
75 <member name="M:Bowling.Domain.Abstract.IRepository`1.DiscardChanges">
76 <summary>
77 Discards all changes to the items within the repository, if any.
78 </summary>
79 </member>
80 <member name="M:Bowling.Domain.Abstract.IRepository`1.SaveChangesAsync(System.Threading.CancellationToken)">
81 <summary>
82 Saves all pending changes in the repository asynchronously.
83 </summary>
84 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
85 <returns>A <see cref="T:System.Threading.Tasks.Task">task</see> representing the save operation.</returns>
86 </member>
87 <member name="P:Bowling.Domain.Abstract.IRepository`1.HasPendingChanges">
88 <summary>
89 Gets a value indicating whether there are any pending, unsaved changes.
90 </summary>
91 <value>True if there are any pending unsaved changes; otherwise, false.</value>
92 </member>
93 <member name="T:Bowling.Domain.Abstract.IRepositoryExtensions">
94 <summary>
95 Provides extension methods for the <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1"/> and <see cref="T:Bowling.Domain.Abstract.IRepository`1"/> interfaces.
96 </summary>
97 </member>
98 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Func{System.Linq.IQueryable{``0},System.Linq.IQueryable{``0}})">
99 <summary>
100 Retrieves all items in the repository satisfied by the specified query asynchronously.
101 </summary>
102 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
103 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
104 <param name="queryShaper">The <see cref="T:System.Func`2">function</see> that shapes the <see cref="T:System.Linq.IQueryable`1">query</see> to execute.</param>
105 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the retrieved <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
106 of <typeparamref name="T">items</typeparamref>.</returns>
107 <example>The following example demonstrates how to paginate the items in a repository using an example query.
108 <code><![CDATA[
109 using Microsoft.DesignPatterns.Examples;
110 using System;
111 using System.Collections.Generic;
112 using System.Linq;
113 using System.Threading;
114 using System.Threading.Tasks;
115
116 public async static void Main()
117 {
118 var index = 0;
119 var repository = new MyRepository();
120
121 foreach ( var item in await repository.GetAsync( q => q.Where( i => i.FirstName.StartsWith( "Jo" ) ).OrderBy( i => i.LastName ) );
122 Console.WriteLine( i => i.ToString() );
123 }
124 ]]>
125 </code></example>
126 </member>
127 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAsync``2(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Func{System.Linq.IQueryable{``0},``1})">
128 <summary>
129 Retrieves a query result asynchronously.
130 </summary>
131 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
132 <typeparam name="TResult">The <see cref="T:System.Type">type</see> of result to retrieve.</typeparam>
133 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
134 <param name="queryShaper">The <see cref="T:System.Func`2">function</see> that shapes the <see cref="T:System.Linq.IQueryable`1">query</see> to execute.</param>
135 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <typeparamref name="TResult">result</typeparamref> of the operation.</returns>
136 </member>
137 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAllAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0})">
138 <summary>
139 Retrieves all items in the repository asynchronously.
140 </summary>
141 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
142 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
143 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
144 of all <typeparamref name="T">items</typeparamref> in the repository.</returns>
145 <example>The following example demonstrates how to retrieve all items in a repository.
146 <code><![CDATA[
147 using Microsoft.DesignPatterns.Examples;
148 using System;
149 using System.Collections.Generic;
150 using System.Linq;
151 using System.Threading;
152 using System.Threading.Tasks;
153
154 public async static void Main()
155 {
156 var repository = new MyRepository();
157
158 foreach ( var item in await repository.GetAllAsync( i => i.LastName == "Doe" ) )
159 Console.WriteLine( item.ToString() );
160 }
161 ]]>
162 </code></example>
163 </member>
164 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAllAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Threading.CancellationToken)">
165 <summary>
166 Retrieves all items in the repository asynchronously.
167 </summary>
168 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
169 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
170 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
171 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
172 of all <typeparamref name="T">items</typeparamref> in the repository.</returns>
173 <example>The following example demonstrates how to retrieve all items in a repository.
174 <code><![CDATA[
175 using Microsoft.DesignPatterns.Examples;
176 using System;
177 using System.Collections.Generic;
178 using System.Linq;
179 using System.Threading;
180 using System.Threading.Tasks;
181
182 public async static void Main()
183 {
184 var repository = new MyRepository();
185 var cancellationToken = new CancellationToken();
186
187 foreach ( var item in await repository.GetAllAsync( i => i.LastName == "Doe", cancellationToken ) )
188 Console.WriteLine( item.ToString() );
189 }
190 ]]>
191 </code></example>
192 </member>
193 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.FindByAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
194 <summary>
195 Searches for items in the repository that match the specified predicate asynchronously.
196 </summary>
197 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
198 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
199 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
200 match the requested <typeparamref name="T">items</typeparamref>.</param>
201 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the matched <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
202 of <typeparamref name="T">items</typeparamref>.</returns>
203 <example>The following example demonstrates how to find items in a repository.
204 <code><![CDATA[
205 using Microsoft.DesignPatterns.Examples;
206 using System;
207 using System.Collections.Generic;
208 using System.Linq;
209 using System.Threading;
210 using System.Threading.Tasks;
211
212 public async static void Main()
213 {
214 var repository = new MyRepository();
215 var items = await repository.FindByAsync( i => i.LastName == "Doe" );
216 items.ForEach( i => Console.WriteLine( i.ToString() ) );
217 }
218 ]]>
219 </code></example>
220 </member>
221 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.FindByAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Threading.CancellationToken)">
222 <summary>
223 Searches for items in the repository that match the specified predicate asynchronously.
224 </summary>
225 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
226 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
227 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
228 match the requested <typeparamref name="T">items</typeparamref>.</param>
229 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
230 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the matched <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
231 of <typeparamref name="T">items</typeparamref>.</returns>
232 <example>The following example demonstrates how to find items in a repository.
233 <code><![CDATA[
234 using Microsoft.DesignPatterns.Examples;
235 using System;
236 using System.Collections.Generic;
237 using System.Linq;
238 using System.Threading;
239 using System.Threading.Tasks;
240
241 public async static void Main()
242 {
243 var repository = new MyRepository();
244 var cancellationToken = new CancellationToken();
245 var items = await repository.FindByAsync( i => i.LastName == "Doe", cancellationToken );
246 items.ForEach( i => Console.WriteLine( i.ToString() ) );
247 }
248 ]]>
249 </code></example>
250 </member>
251 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetSingleAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
252 <summary>
253 Retrieves a single item in the repository matching the specified predicate asynchronously.
254 </summary>
255 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
256 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
257 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
258 match the requested <typeparamref name="T">item</typeparamref>.</param>
259 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the matched <typeparamref name="T">item</typeparamref>
260 or null if no match was found.</returns>
261 <example>The following example demonstrates how to retrieve a single item from a repository.
262 <code><![CDATA[
263 using Microsoft.DesignPatterns.Examples;
264 using System;
265 using System.Collections.Generic;
266 using System.Linq;
267 using System.Threading;
268 using System.Threading.Tasks;
269
270 public async static void Main()
271 {
272 var repository = new MyRepository();
273 var item = await repository.GetSingleAsync( i => i.Id == 1 );
274 Console.WriteLine( item.ToString() );
275 }
276 ]]>
277 </code></example>
278 </member>
279 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetSingleAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Threading.CancellationToken)">
280 <summary>
281 Retrieves a single item in the repository matching the specified predicate asynchronously.
282 </summary>
283 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
284 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
285 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
286 match the requested <typeparamref name="T">item</typeparamref>.</param>
287 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
288 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the matched <typeparamref name="T">item</typeparamref>
289 or null if no match was found.</returns>
290 <example>The following example demonstrates how to retrieve a single item from a repository.
291 <code><![CDATA[
292 using Microsoft.DesignPatterns.Examples;
293 using System;
294 using System.Collections.Generic;
295 using System.Linq;
296 using System.Threading;
297 using System.Threading.Tasks;
298
299 public async static void Main()
300 {
301 var repository = new MyRepository();
302 var item = await repository.GetSingleAsync( i => i.Id == 1 );
303 Console.WriteLine( item.ToString() );
304 }
305 ]]>
306 </code></example>
307 </member>
308 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.PaginateAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Int32,System.Int32)">
309 <summary>
310 Retrieves and pages all items in the repository asynchronously.
311 </summary>
312 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
313 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
314 <param name="pageIndex">The zero-based index of the data page to retrieve.</param>
315 <param name="pageSize">The size of the data page to retrieve.</param>
316 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:Bowling.Domain.Concrete.EntityFramework.PagedCollection`1">paged collection</see>
317 of <typeparamref name="T">items</typeparamref>.</returns>
318 <example>The following example demonstrates how to paginate all items in a repository.
319 <code><![CDATA[
320 using Microsoft.DesignPatterns.Examples;
321 using System;
322 using System.Collections.Generic;
323 using System.Linq;
324 using System.Threading;
325 using System.Threading.Tasks;
326
327 public async static void Main()
328 {
329 var index = 0;
330 var repository = new MyRepository();
331 var items = await repository.PaginateAsync( index, 10 );
332 var retrieved = items.Count;
333
334 items.ForEach( i => Console.WriteLine( i.ToString() ) );
335
336 while ( retrieved < items.TotalCount )
337 {
338 items = await repository.PaginateAsync( ++index, 10 );
339 retrieved += items.Count;
340 items.ForEach( i => Console.WriteLine( i.ToString() ) );
341 }
342 }
343 ]]>
344 </code></example>
345 </member>
346 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.PaginateAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Int32,System.Int32,System.Threading.CancellationToken)">
347 <summary>
348 Retrieves and pages all items in the repository asynchronously.
349 </summary>
350 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
351 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
352 <param name="pageIndex">The zero-based index of the data page to retrieve.</param>
353 <param name="pageSize">The size of the data page to retrieve.</param>
354 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
355 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:Bowling.Domain.Concrete.EntityFramework.PagedCollection`1">paged collection</see>
356 of <typeparamref name="T">items</typeparamref>.</returns>
357 <example>The following example demonstrates how to paginate all items in a repository.
358 <code><![CDATA[
359 using Microsoft.DesignPatterns.Examples;
360 using System;
361 using System.Collections.Generic;
362 using System.Linq;
363 using System.Threading;
364 using System.Threading.Tasks;
365
366 public async static void Main()
367 {
368 var index = 0;
369 var repository = new MyRepository();
370 var cancellationToken = new CancellationToken();
371 var items = await repository.PaginateAsync( index, 10, cancellationToken );
372 var retrieved = items.Count;
373
374 items.ForEach( i => Console.WriteLine( i.ToString() ) );
375
376 while ( retrieved < items.TotalCount )
377 {
378 items = await repository.PaginateAsync( ++index, 10, cancellationToken );
379 retrieved += items.Count;
380 items.ForEach( i => Console.WriteLine( i.ToString() ) );
381 }
382 }
383 ]]>
384 </code></example>
385 </member>
386 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.PaginateAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Func{System.Linq.IQueryable{``0},System.Linq.IQueryable{``0}},System.Int32,System.Int32)">
387 <summary>
388 Retrieves and pages matching items in the repository asynchronously.
389 </summary>
390 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
391 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
392 <param name="queryShaper">The <see cref="T:System.Func`2">function</see> that shapes the <see cref="T:System.Linq.IQueryable`1">query</see> to execute.</param>
393 <param name="pageIndex">The zero-based index of the data page to retrieve.</param>
394 <param name="pageSize">The size of the data page to retrieve.</param>
395 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:Bowling.Domain.Concrete.EntityFramework.PagedCollection`1">paged collection</see>
396 of <typeparamref name="T">items</typeparamref>.</returns>
397 <example>The following example demonstrates how to paginate all items in a repository.
398 <code><![CDATA[
399 using Microsoft.DesignPatterns.Examples;
400 using System;
401 using System.Collections.Generic;
402 using System.Linq;
403 using System.Threading;
404 using System.Threading.Tasks;
405
406 public async static void Main()
407 {
408 var index = 0;
409 var repository = new MyRepository();
410 var items = await repository.PaginateAsync( q => q.OrderBy( i => LastName ), index, 10 );
411 var retrieved = items.Count;
412
413 items.ForEach( i => Console.WriteLine( i.ToString() ) );
414
415 while ( retrieved < items.TotalCount )
416 {
417 items = await repository.PaginateAsync( q => q.OrderBy( i => LastName ), ++index, 10 );
418 retrieved += items.Count;
419 items.ForEach( i => Console.WriteLine( i.ToString() ) );
420 }
421 }
422 ]]>
423 </code></example>
424 </member>
425 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.PaginateAsync``1(Bowling.Domain.Abstract.IReadOnlyRepository{``0},System.Func{System.Linq.IQueryable{``0},System.Linq.IQueryable{``0}},System.Int32,System.Int32,System.Threading.CancellationToken)">
426 <summary>
427 Retrieves and pages matching items in the repository asynchronously.
428 </summary>
429 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
430 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
431 <param name="queryShaper">The <see cref="T:System.Func`2">function</see> that shapes the <see cref="T:System.Linq.IQueryable`1">query</see> to execute.</param>
432 <param name="pageIndex">The zero-based index of the data page to retrieve.</param>
433 <param name="pageSize">The size of the data page to retrieve.</param>
434 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
435 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:Bowling.Domain.Concrete.EntityFramework.PagedCollection`1">paged collection</see>
436 of <typeparamref name="T">items</typeparamref>.</returns>
437 <example>The following example demonstrates how to paginate all items in a repository.
438 <code><![CDATA[
439 using Microsoft.DesignPatterns.Examples;
440 using System;
441 using System.Collections.Generic;
442 using System.Linq;
443 using System.Threading;
444 using System.Threading.Tasks;
445
446 public async static void Main()
447 {
448 var index = 0;
449 var repository = new MyRepository();
450 var cancellationToken = new CancellationToken();
451 var items = await repository.PaginateAsync( q => q.OrderBy( i => LastName ), index, 10, cancellationToken );
452 var retrieved = items.Count;
453
454 items.ForEach( i => Console.WriteLine( i.ToString() ) );
455
456 while ( retrieved < items.TotalCount )
457 {
458 items = await repository.PaginateAsync( q => q.OrderBy( i => LastName ), ++index, 10, cancellationToken );
459 retrieved += items.Count;
460 items.ForEach( i => Console.WriteLine( i.ToString() ) );
461 }
462 }
463 ]]>
464 </code></example>
465 </member>
466 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.SaveChangesAsync``1(Bowling.Domain.Abstract.IRepository{``0})">
467 <summary>
468 Saves all pending changes in the repository asynchronously.
469 </summary>
470 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
471 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IReadOnlyRepository`1">repository</see>.</param>
472 <returns>A <see cref="T:System.Threading.Tasks.Task">task</see> representing the save operation.</returns>
473 </member>
474 <member name="T:Bowling.Domain.Abstract.ISpecification`1">
475 <summary>
476 Defines the behavior of a single, self-evaluating rule supporting simple binary evaluation semantics using the specification pattern.
477 </summary>
478 <typeparam name="T">The <see cref="T:System.Type">type</see> of item to evaluate.</typeparam>
479 </member>
480 <member name="M:Bowling.Domain.Abstract.ISpecification`1.IsSatisfiedBy(`0)">
481 <summary>
482 Determines whether the specified item satisfies the specification.
483 </summary>
484 <param name="item">The item of <typeparamref name="T"/> to evaluate.</param>
485 <returns>True if <paramref name="item"/> satisfies the specification; otherwise, false.</returns>
486 </member>
487 <member name="M:Bowling.Domain.Abstract.ISpecification`1.And(Bowling.Domain.Abstract.ISpecification{`0})">
488 <summary>
489 Combines the current specification with the specified specification using logical 'And' semantics.
490 </summary>
491 <param name="other">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> to union.</param>
492 <returns>A unioned <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
493 </member>
494 <member name="M:Bowling.Domain.Abstract.ISpecification`1.Or(Bowling.Domain.Abstract.ISpecification{`0})">
495 <summary>
496 Combines the current specification with the specified specification using logical 'Or' semantics.
497 </summary>
498 <param name="other">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> to union.</param>
499 <returns>A unioned <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
500 </member>
501 <member name="M:Bowling.Domain.Abstract.ISpecification`1.Not">
502 <summary>
503 Returns the logical compliment of the specification.
504 </summary>
505 <returns>A <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
506 </member>
507 <member name="T:Bowling.Domain.Abstract.ISpecificationExtensions">
508 <summary>
509 Provides extension methods for the <see cref="T:Bowling.Domain.Abstract.ISpecification`1"/> interface.
510 </summary>
511 </member>
512 <member name="M:Bowling.Domain.Abstract.ISpecificationExtensions.And``1(Bowling.Domain.Abstract.ISpecification{``0},System.Func{``0,System.Boolean})">
513 <summary>
514 Combines the current specification with the specified specification using logical 'And' semantics.
515 </summary>
516 <typeparam name="T">The <see cref="T:System.Type">type</see> of item to evaluate.</typeparam>
517 <param name="specification">The left-hand side <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see>.</param>
518 <param name="other">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> to union.</param>
519 <returns>A unioned <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
520 </member>
521 <member name="M:Bowling.Domain.Abstract.ISpecificationExtensions.Or``1(Bowling.Domain.Abstract.ISpecification{``0},System.Func{``0,System.Boolean})">
522 <summary>
523 Combines the current specification with the specified specification using logical 'Or' semantics.
524 </summary>
525 <typeparam name="T">The <see cref="T:System.Type">type</see> of item to evaluate.</typeparam>
526 <param name="specification">The left-hand side <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see>.</param>
527 <param name="other">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> to union.</param>
528 <returns>A unioned <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
529 </member>
530 <member name="T:Bowling.Domain.Abstract.IUnitOfWorkExtensions">
531 <summary>
532 Provides extension methods for the <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1"/> class.
533 </summary>
534 </member>
535 <member name="M:Bowling.Domain.Abstract.IUnitOfWorkExtensions.CommitAsync``1(Bowling.Domain.Abstract.IUnitOfWork{``0})">
536 <summary>
537 Commits all pending units of work asynchronously.
538 </summary>
539 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the unit of work.</typeparam>
540 <param name="unitOfWork">The extended <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1">unit of work</see>.</param>
541 <returns>A <see cref="T:System.Threading.Tasks.Task">task</see> representing the commit operation.</returns>
542 </member>
543 <member name="T:Bowling.Domain.Abstract.IUnitOfWorkFactory">
544 <summary>
545 Defines the behavior for a unit of work factory.
546 </summary>
547 </member>
548 <member name="M:Bowling.Domain.Abstract.IUnitOfWorkFactory.Create``1">
549 <summary>
550 Returns a new unit of work.
551 </summary>
552 <typeparam name="TItem">The <see cref="T:System.Type">type</see> of item to create a <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1">unit of work</see> for.</typeparam>
553 <returns>A <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1">unit of work</see>.</returns>
554 </member>
555 <member name="M:Bowling.Domain.Abstract.IUnitOfWorkFactory.GetCurrent``1">
556 <summary>
557 Gets the current unit of work for a given type.
558 </summary>
559 <typeparam name="TItem">The <see cref="T:System.Type">type</see> of item to retrieve a <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1">unit of work</see> for.</typeparam>
560 <returns>A <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1">unit of work</see>.</returns>
561 </member>
562 <member name="M:Bowling.Domain.Abstract.IUnitOfWorkFactory.SetCurrent``1(Bowling.Domain.Abstract.IUnitOfWork{``0})">
563 <summary>
564 Sets the current unit of work for a given type.
565 </summary>
566 <typeparam name="TItem">The <see cref="T:System.Type">type</see> of item to set a <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1">unit of work</see> for.</typeparam>
567 <param name="unitOfWork">The current <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1">unit of work</see>.</param>
568 </member>
569 <member name="P:Bowling.Domain.Abstract.IUnitOfWorkFactory.Specification">
570 <summary>
571 Gets the specification associated with the factory.
572 </summary>
573 <value>A <see cref="T:Bowling.Domain.Abstract.ISpecification`1"/> object.</value>
574 </member>
575 <member name="T:Bowling.Domain.Abstract.IUnitOfWorkFactoryProvider">
576 <summary>
577 Defines the behavior of an object that can locate and provide unit of work factories.
578 </summary>
579 </member>
580 <member name="P:Bowling.Domain.Abstract.IUnitOfWorkFactoryProvider.Factories">
581 <summary>
582 Gets a sequence of unit of work factories supported by the provider.
583 </summary>
584 <value>A <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see> of <see cref="T:Bowling.Domain.Abstract.IUnitOfWorkFactory">unit of work factories</see>.</value>
585 </member>
586 <member name="T:Bowling.Domain.Abstract.IUnitOfWork`1">
587 <summary>
588 Defines the behavior for a unit of work.
589 </summary>
590 <typeparam name="T">The <see cref="T:System.Type">type</see> of item to perform work on.</typeparam>
591 </member>
592 <member name="M:Bowling.Domain.Abstract.IUnitOfWork`1.RegisterNew(`0)">
593 <summary>
594 Registers a new item.
595 </summary>
596 <param name="item">The new item to register.</param>
597 </member>
598 <member name="M:Bowling.Domain.Abstract.IUnitOfWork`1.RegisterChanged(`0)">
599 <summary>
600 Registers a changed item.
601 </summary>
602 <param name="item">The changed item to register.</param>
603 </member>
604 <member name="M:Bowling.Domain.Abstract.IUnitOfWork`1.RegisterRemoved(`0)">
605 <summary>
606 Registers a removed item.
607 </summary>
608 <param name="item">The removed item to register.</param>
609 </member>
610 <member name="M:Bowling.Domain.Abstract.IUnitOfWork`1.Unregister(`0)">
611 <summary>
612 Unregisters an item.
613 </summary>
614 <param name="item">The item to unregister.</param>
615 </member>
616 <member name="M:Bowling.Domain.Abstract.IUnitOfWork`1.Rollback">
617 <summary>
618 Rolls back all pending units of work.
619 </summary>
620 </member>
621 <member name="M:Bowling.Domain.Abstract.IUnitOfWork`1.CommitAsync(System.Threading.CancellationToken)">
622 <summary>
623 Commits all pending units of work asynchronously.
624 </summary>
625 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
626 <returns>A <see cref="T:System.Threading.Tasks.Task">task</see> representing the commit operation.</returns>
627 </member>
628 <member name="P:Bowling.Domain.Abstract.IUnitOfWork`1.HasPendingChanges">
629 <summary>
630 Gets a value indicating whether there are any pending, uncommitted changes.
631 </summary>
632 <value>True if there are any pending uncommitted changes; otherwise, false.</value>
633 </member>
634 <member name="T:Bowling.Domain.Abstract.IUnitOfWorkContract`1">
635 <summary>
636 Provides the code contract for the <see cref="T:Bowling.Domain.Abstract.IUnitOfWork`1"/> interface.
637 </summary>
638 <typeparam name="T">The <see cref="T:System.Type">type</see> of item to perform work on.</typeparam>
639 </member>
640 <member name="T:Bowling.Domain.Concrete.EntityFramework.BaseContext">
641 <summary>
642 Base database context from which all other database contexts will be extended
643 </summary>
644 </member>
645 <member name="T:Bowling.Domain.Concrete.EntityFramework.IDbContext">
646 <summary>
647 Interface for database contexts
648 </summary>
649 </member>
650 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.SaveChanges">
651 <summary>
652 Save the changes to all entities within the current context
653 </summary>
654 <returns>Error code</returns>
655 </member>
656 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.Set``1">
657 <summary>
658 Returns a DbSet for the current entity type
659 </summary>
660 <typeparam name="TEntity">The entity type</typeparam>
661 <returns>DbSet</returns>
662 </member>
663 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.Refresh(System.Object)">
664 <summary>
665 This refreshes the contents of a given object from the database.
666 </summary>
667 <param name="entity">Object to be refreshed</param>
668 </member>
669 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.Entry(System.Object)">
670 <summary>
671 Gets a System.Data.Entity.Infrastructure.DbEntityEntry object for the given entity
672 </summary>
673 <param name="entity">Entity to use</param>
674 <returns>DbEntityEntry</returns>
675 </member>
676 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.#cctor">
677 <summary>
678 Static constructor to create an empty context
679 </summary>
680 </member>
681 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.#ctor(System.String)">
682 <summary>
683 Constructor creating a database context from a given connection string
684 </summary>
685 <param name="nameOrConnectionString">Connection string</param>
686 </member>
687 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.#ctor(System.Data.Common.DbConnection)">
688 <summary>
689 Constructor creating a database context from a given database connection
690 </summary>
691 <param name="dbConnection">Database connection</param>
692 </member>
693 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.OnModelCreating(System.Data.Entity.DbModelBuilder)">
694 <summary>
695 Model creating event
696 </summary>
697 <param name="modelBuilder">Model builder object being used</param>
698 </member>
699 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.Refresh(System.Object)">
700 <summary>
701 This refreshes the contents of a given object from the database.
702 </summary>
703 <param name="entity">Entity to refresh</param>
704 </member>
705 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.SaveChanges">
706 <summary>
707 Calls the DbContext SaveChanges. If it fails validation, it will be handled with our own exception
708 </summary>
709 <returns>Error code</returns>
710 </member>
711 <member name="P:Bowling.Domain.Concrete.EntityFramework.BaseContext.NamespaceDataContext">
712 <summary>
713 Name space for context
714 </summary>
715 <returns>Name space</returns>
716 </member>
717 <member name="P:Bowling.Domain.Concrete.EntityFramework.BaseContext.Schema">
718 <summary>
719 Schema for the context
720 </summary>
721 <returns>Schema</returns>
722 </member>
723 <member name="T:Bowling.Domain.Concrete.EntityFramework.BaseEntityMap`1">
724 <summary>
725 Base Entity Framework mapping class for Insight domain entities. This class
726 configures the attributes on the base entity and also properties on the specified
727 domain entity type by looking at settings provided via the SymEntity attribute
728 and properties specified by the Field Definitions for the class.
729 </summary>
730 <typeparam name="T">The type of the entity being mapped</typeparam>
731 </member>
732 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseEntityMap`1.#ctor">
733 <summary>
734 Constructor creating the default mappings on all entities
735 </summary>
736 </member>
737 <member name="T:Bowling.Domain.Concrete.EntityFramework.DataContext">
738 <summary>
739 Context for the main database
740 </summary>
741 </member>
742 <member name="M:Bowling.Domain.Concrete.EntityFramework.DataContext.#cctor">
743 <summary>
744 Static constructor to create an empty data context. If we are building the database instruct
745 the system to create a database if it doesn't exst. This cannot be used for normal usage as
746 it is incompatible with caching
747 </summary>
748 </member>
749 <member name="M:Bowling.Domain.Concrete.EntityFramework.DataContext.#ctor(System.String)">
750 <summary>
751 Constructor to create a data context from the given connection string,
752 setting whether it is a management database
753 </summary>
754 <param name="connectionString">Connection string</param>
755 <param name="managementModelOnly">Management model only</param>
756 </member>
757 <member name="M:Bowling.Domain.Concrete.EntityFramework.DataContext.#ctor">
758 <summary>
759 Constructor to create a data context from the stored connection string,
760 setting whether it is a management database
761 </summary>
762 <param name="managementContext">Management model only</param>
763 </member>
764 <member name="T:Bowling.Domain.Concrete.EntityFramework.LogicalAndSpecification`1">
765 <summary>
766 Represents a specification that models a logical 'And' expression <seealso cref="T:Bowling.Domain.Concrete.EntityFramework.Specification`1"/>.
767 </summary>
768 <typeparam name="T">The <see cref="T:System.Type">type</see> of item to evaluate.</typeparam>
769 </member>
770 <member name="T:Bowling.Domain.Concrete.EntityFramework.SpecificationBase`1">
771 <summary>
772 Represents a single, self-evaluating rule supporting simple binary evaluation semantics.
773 </summary>
774 <typeparam name="T">The <see cref="T:System.Type">type</see> of item to evaluate.</typeparam>
775 </member>
776 <member name="M:Bowling.Domain.Concrete.EntityFramework.SpecificationBase`1.#ctor">
777 <summary>
778 Initializes a new instance of the <see cref="T:Bowling.Domain.Concrete.EntityFramework.SpecificationBase`1"/> class.
779 </summary>
780 </member>
781 <member name="M:Bowling.Domain.Concrete.EntityFramework.SpecificationBase`1.IsSatisfiedBy(`0)">
782 <summary>
783 Determines whether the specified item satisfies the specification.
784 </summary>
785 <param name="item">The item of <typeparamref name="T"/> to evaluate.</param>
786 <returns>True if <paramref name="item"/> satisfies the specification; otherwise, false.</returns>
787 </member>
788 <member name="M:Bowling.Domain.Concrete.EntityFramework.SpecificationBase`1.And(Bowling.Domain.Abstract.ISpecification{`0})">
789 <summary>
790 Combines the current specification with the specified specification using logical 'And' semantics.
791 </summary>
792 <param name="other">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> to union.</param>
793 <returns>A unioned <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
794 </member>
795 <member name="M:Bowling.Domain.Concrete.EntityFramework.SpecificationBase`1.Or(Bowling.Domain.Abstract.ISpecification{`0})">
796 <summary>
797 Combines the current specification with the specified specification using logical 'Or' semantics.
798 </summary>
799 <param name="other">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> to union.</param>
800 <returns>A unioned <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
801 </member>
802 <member name="M:Bowling.Domain.Concrete.EntityFramework.SpecificationBase`1.Not">
803 <summary>
804 Returns the logical compliment of the specification.
805 </summary>
806 <returns>A <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> object.</returns>
807 </member>
808 <member name="M:Bowling.Domain.Concrete.EntityFramework.LogicalAndSpecification`1.#ctor(Bowling.Domain.Abstract.ISpecification{`0},Bowling.Domain.Abstract.ISpecification{`0})">
809 <summary>
810 Initializes a new instance of the <see cref="T:Bowling.Domain.Concrete.EntityFramework.LogicalAndSpecification`1"/> class.
811 </summary>
812 <param name="left">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> representing the left-hand side of the unioned specification.</param>
813 <param name="right">The <see cref="T:Bowling.Domain.Abstract.ISpecification`1">specification</see> representing the right-hand side of the unioned specification.</param>
814 </member>
815 <member name="M:Bowling.Domain.Concrete.EntityFramework.LogicalAndSpecification`1.IsSatisfiedBy(`0)">
816 <summary>
817 Determines whether the specified item satisfies the specification.
818 </summary>
819 <param name="item">The item of <typeparamref name="T"/> to evaluate.</param>
820 <returns>True if <paramref name="item"/> satisfies the specification; otherwise, false.</returns>
821 </me…
Large files files are truncated, but you can click here to view the full file