/Bowling/Bowling.Domain/XmlDocument.xml
XML | 943 lines | 931 code | 12 blank | 0 comment | 0 complexity | 5cd7d0bc5406e8c64d7c4ec0b132c84a MD5 | raw 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.IRepository`1">
8 <summary>
9 Interface for all repository iplementations
10 </summary>
11 <typeparam name="T">Type of the entities in the repository</typeparam>
12 </member>
13 <member name="M:Bowling.Domain.Abstract.IRepository`1.GetAll">
14 <summary>
15 Get all items from the repository
16 </summary>
17 <returns>Queryable containing all items in the repository</returns>
18 </member>
19 <member name="M:Bowling.Domain.Abstract.IRepository`1.GetAsync(System.Func{System.Linq.IQueryable{`0},System.Linq.IQueryable{`0}},System.Threading.CancellationToken)">
20 <summary>
21 Retrieves all items in the repository satisfied by the specified query asynchronously.
22 </summary>
23 <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>
24 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
25 <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>
26 of <typeparamref name="T">items</typeparamref>.</returns>
27 <example>The following example demonstrates how to paginate the items in a repository using an example query.
28 <code><![CDATA[
29 using Microsoft.DesignPatterns.Examples;
30 using System;
31 using System.Collections.Generic;
32 using System.Linq;
33 using System.Threading;
34 using System.Threading.Tasks;
35
36 public async static void Main()
37 {
38 var index = 0;
39 var repository = new MyRepository();
40 var cancellationToken = new CancellationToken();
41
42 foreach ( var item in await repository.GetAsync( q => q.Where( i => i.FirstName.StartsWith( "Jo" ) ).OrderBy( i => i.LastName ), cancellationToken );
43 Console.WriteLine( i => i.ToString() );
44 }
45 ]]>
46 </code></example>
47 </member>
48 <member name="M:Bowling.Domain.Abstract.IRepository`1.GetAsync``1(System.Func{System.Linq.IQueryable{`0},``0},System.Threading.CancellationToken)">
49 <summary>
50 Retrieves a query result asynchronously.
51 </summary>
52 <typeparam name="TResult">The <see cref="T:System.Type">type</see> of result to retrieve.</typeparam>
53 <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>
54 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
55 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <typeparamref name="TResult">result</typeparamref> of the operation.</returns>
56 </member>
57 <member name="M:Bowling.Domain.Abstract.IRepository`1.Search(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
58 <summary>
59 Basic search method that allows filtering on the repository based on
60 a boolean predicate.
61 </summary>
62 <param name="where">Where clause for the search</param>
63 <returns>Queryable of the search results</returns>
64 </member>
65 <member name="M:Bowling.Domain.Abstract.IRepository`1.Single(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
66 <summary>
67 Search and return a single entity using a where clause
68 </summary>
69 <param name="where">Where clause</param>
70 <returns>Result entity</returns>
71 </member>
72 <member name="M:Bowling.Domain.Abstract.IRepository`1.Single(System.Func{System.Linq.IQueryable{`0},System.Linq.IQueryable{`0}})">
73 <summary>
74 Search and return a single entity using a query function
75 </summary>
76 <param name="query">Query function</param>
77 <returns>Result entity</returns>
78 </member>
79 <member name="M:Bowling.Domain.Abstract.IRepository`1.GetById(System.Int32)">
80 <summary>
81 Get entity by the id
82 </summary>
83 <param name="id">Guid of the entity</param>
84 <returns>Result entity</returns>
85 </member>
86 <member name="M:Bowling.Domain.Abstract.IRepository`1.First(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
87 <summary>
88 Search and return the first entity that matches the given where clause
89 </summary>
90 <param name="where">Where clause</param>
91 <returns>Result entity</returns>
92 </member>
93 <member name="M:Bowling.Domain.Abstract.IRepository`1.First(System.Func{System.Linq.IQueryable{`0},System.Linq.IQueryable{`0}})">
94 <summary>
95 Search and return the first entity matching the given query
96 </summary>
97 <param name="query">Query</param>
98 <returns>Result entity</returns>
99 </member>
100 <member name="M:Bowling.Domain.Abstract.IRepository`1.Delete(`0)">
101 <summary>
102 Delete the given entity from the repository
103 </summary>
104 <param name="entity">Entity to delete</param>
105 </member>
106 <member name="M:Bowling.Domain.Abstract.IRepository`1.Add(`0)">
107 <summary>
108 Add the given entity to the repository
109 </summary>
110 <param name="entity">Entity to add</param>
111 </member>
112 <member name="M:Bowling.Domain.Abstract.IRepository`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
113 <summary>
114 Add a collection of new entities to the repository. This can be more efficient
115 than adding the entities one by one.
116 </summary>
117 <param name="entities">Range of entities to add</param>
118 </member>
119 <member name="M:Bowling.Domain.Abstract.IRepository`1.Attach(`0)">
120 <summary>
121 Attach the gievn entity
122 </summary>
123 <param name="entity">Entity to attach</param>
124 </member>
125 <member name="M:Bowling.Domain.Abstract.IRepository`1.Lock(`0)">
126 <summary>
127 Obtain a lock on a specific entity where possible.
128 Also refreshes the entity after obtaining the lock
129 </summary>
130 <param name="entity">Entity to lock</param>
131 </member>
132 <member name="M:Bowling.Domain.Abstract.IRepository`1.Lock(System.Int32,System.String,System.Type)">
133 <summary>
134 Lock the specific entity where possible. Find the entity via the given id,
135 table and type
136 </summary>
137 <param name="id">Id of the entity being locked</param>
138 <param name="table">Table that the entity being locked belongs to</param>
139 <param name="entType">Type of the entity being locked</param>
140 </member>
141 <member name="M:Bowling.Domain.Abstract.IRepository`1.Refresh(`0)">
142 <summary>
143 Refresh the given entity
144 </summary>
145 <param name="entity">Entity to refresh</param>
146 </member>
147 <member name="T:Bowling.Domain.Abstract.IUnitOfWork">
148 <summary>
149 Interface for the unit of work. A group of database changes to be committed at once.
150 </summary>
151 </member>
152 <member name="M:Bowling.Domain.Abstract.IUnitOfWork.Commit">
153 <summary>
154 Commit the unit of work
155 </summary>
156 </member>
157 <member name="M:Bowling.Domain.Abstract.IUnitOfWork.CommitAsync">
158 <summary>
159 Commit the unit of work
160 </summary>
161 </member>
162 <member name="M:Bowling.Domain.Abstract.IUnitOfWork.ContainsLockKey(System.Type,System.Int32)">
163 <summary>
164 Check of the required entity is locked and has an entry in the lock table
165 </summary>
166 <param name="entity">Type of the entity being checked</param>
167 <param name="i">Id of the entity being checked</param>
168 <returns>Whether the lock table contains the lock key for the given entity</returns>
169 </member>
170 <member name="M:Bowling.Domain.Abstract.IUnitOfWork.AddToLockTable(System.Type,System.Int32)">
171 <summary>
172 Add the given entity to the lock table
173 </summary>
174 <param name="entity">Entity to add to the lock table</param>
175 <param name="i">Id of entity to add to the lock table</param>
176 </member>
177 <member name="M:Bowling.Domain.Abstract.UnitOfWork.Dispose">
178 <summary>
179 This clears up everything associated with the transaction.
180 </summary>
181 </member>
182 <member name="T:Bowling.Domain.Concrete.EntityFramework.BaseContext">
183 <summary>
184 Base database context from which all other database contexts will be extended
185 </summary>
186 </member>
187 <member name="T:Bowling.Domain.Concrete.EntityFramework.IDbContext">
188 <summary>
189 Interface for database contexts
190 </summary>
191 </member>
192 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.SaveChanges">
193 <summary>
194 Save the changes to all entities within the current context
195 </summary>
196 <returns>Error code</returns>
197 </member>
198 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.SaveChangesAsync">
199 <summary>
200 Save the changes to all entities within the current context
201 </summary>
202 <returns>Error code</returns>
203 </member>
204 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.Set``1">
205 <summary>
206 Returns a DbSet for the current entity type
207 </summary>
208 <typeparam name="TEntity">The entity type</typeparam>
209 <returns>DbSet</returns>
210 </member>
211 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.Lock(System.Int32,System.String,System.Type)">
212 <summary>
213 This obtains an update lock on a given row by ID, or waits until it can get one (or times out).
214 </summary>
215 <param name="id">Id of entity to lock</param>
216 <param name="table">Table to get the lock on</param>
217 <param name="entType">Type of the entity being locked</param>
218 <returns></returns>
219 </member>
220 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.Refresh(System.Object)">
221 <summary>
222 This refreshes the contents of a given object from the database.
223 </summary>
224 <param name="entity">Object to be refreshed</param>
225 </member>
226 <member name="M:Bowling.Domain.Concrete.EntityFramework.IDbContext.Entry(System.Object)">
227 <summary>
228 Gets a System.Data.Entity.Infrastructure.DbEntityEntry object for the given entity
229 </summary>
230 <param name="entity">Entity to use</param>
231 <returns>DbEntityEntry</returns>
232 </member>
233 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.#cctor">
234 <summary>
235 Static constructor to create an empty context
236 </summary>
237 </member>
238 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.#ctor(System.String)">
239 <summary>
240 Constructor creating a database context from a given connection string
241 </summary>
242 <param name="nameOrConnectionString">Connection string</param>
243 </member>
244 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.#ctor(System.Data.Common.DbConnection)">
245 <summary>
246 Constructor creating a database context from a given database connection
247 </summary>
248 <param name="dbConnection">Database connection</param>
249 </member>
250 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.OnModelCreating(System.Data.Entity.DbModelBuilder)">
251 <summary>
252 Model creating event
253 </summary>
254 <param name="modelBuilder">Model builder object being used</param>
255 </member>
256 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.Lock(System.Int32,System.String,System.Type)">
257 <summary>
258 This obtains an update lock on a given row by ID, or waits until it can get one (or times out).
259 </summary>
260 <param name="id">Row id to lock</param>
261 <param name="table">Table to update the lock on</param>
262 <param name="entType">Type of the entity being locked</param>
263 </member>
264 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.Refresh(System.Object)">
265 <summary>
266 This refreshes the contents of a given object from the database.
267 </summary>
268 <param name="entity">Entity to refresh</param>
269 </member>
270 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.SaveChanges">
271 <summary>
272 Calls the DbContext SaveChanges. If it fails validation, it will be handled with our own exception
273 </summary>
274 <returns>Error code</returns>
275 </member>
276 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseContext.SaveChangesAsync">
277 <summary>
278 Calls the DbContext SaveChanges. If it fails validation, it will be handled with our own exception
279 </summary>
280 <returns>Error code</returns>
281 </member>
282 <member name="P:Bowling.Domain.Concrete.EntityFramework.BaseContext.NamespaceDataContext">
283 <summary>
284 Name space for context
285 </summary>
286 <returns>Name space</returns>
287 </member>
288 <member name="P:Bowling.Domain.Concrete.EntityFramework.BaseContext.Schema">
289 <summary>
290 Schema for the context
291 </summary>
292 <returns>Schema</returns>
293 </member>
294 <member name="T:Bowling.Domain.Concrete.EntityFramework.BaseEntityMap`1">
295 <summary>
296 Base Entity Framework mapping class for Insight domain entities. This class
297 configures the attributes on the base entity and also properties on the specified
298 domain entity type by looking at settings provided via the SymEntity attribute
299 and properties specified by the Field Definitions for the class.
300 </summary>
301 <typeparam name="T">The type of the entity being mapped</typeparam>
302 </member>
303 <member name="M:Bowling.Domain.Concrete.EntityFramework.BaseEntityMap`1.#ctor">
304 <summary>
305 Constructor creating the default mappings on all entities
306 </summary>
307 </member>
308 <member name="T:Bowling.Domain.Concrete.EntityFramework.DataContext">
309 <summary>
310 Context for the main database
311 </summary>
312 </member>
313 <member name="M:Bowling.Domain.Concrete.EntityFramework.DataContext.#cctor">
314 <summary>
315 Static constructor to create an empty data context. If we are building the database instruct
316 the system to create a database if it doesn't exst. This cannot be used for normal usage as
317 it is incompatible with caching
318 </summary>
319 </member>
320 <member name="M:Bowling.Domain.Concrete.EntityFramework.DataContext.#ctor(System.String)">
321 <summary>
322 Constructor to create a data context from the given connection string,
323 setting whether it is a management database
324 </summary>
325 <param name="connectionString">Connection string</param>
326 <param name="managementModelOnly">Management model only</param>
327 </member>
328 <member name="M:Bowling.Domain.Concrete.EntityFramework.DataContext.#ctor">
329 <summary>
330 Constructor to create a data context from the stored connection string,
331 setting whether it is a management database
332 </summary>
333 <param name="managementContext">Management model only</param>
334 </member>
335 <member name="T:Bowling.Domain.Concrete.EntityFramework.EFRepository`1">
336 <summary>
337 Base generic repository implementation
338 </summary>
339 <typeparam name="T">Type of the repository</typeparam>
340 </member>
341 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.#ctor">
342 <summary>
343 Costructor
344 </summary>
345 </member>
346 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.GetCurrentUnitOfWork``1">
347 <summary>
348 Get the current Unit of Work
349 </summary>
350 <typeparam name="TUnitOfWork">The type of the unit of work</typeparam>
351 <returns>Current unit of work</returns>
352 </member>
353 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.GetAll">
354 <summary>
355 Get all data from the dbSet. This takes into account the valid partitions for the user
356 </summary>
357 <returns>IQueriable containing all data</returns>
358 </member>
359 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.GetAllLocal">
360 <summary>
361 Get all data from the dbSet. This takes into account the valid partitions for the user
362 </summary>
363 <returns>IQueriable containing all data</returns>
364 </member>
365 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.GetAsync(System.Func{System.Linq.IQueryable{`0},System.Linq.IQueryable{`0}},System.Threading.CancellationToken)">
366 <summary>
367 Retrieves all items in the repository satisfied by the specified query asynchronously.
368 </summary>
369 <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>
370 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
371 <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> of <typeparamref name="T">items</typeparamref>.</returns>
372 </member>
373 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.GetAsync``1(System.Func{System.Linq.IQueryable{`0},``0},System.Threading.CancellationToken)">
374 <summary>
375 Retrieves a query result asynchronously.
376 </summary>
377 <typeparam name="TResult">The <see cref="T:System.Type">type</see> of result to retrieve.</typeparam>
378 <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>
379 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
380 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <typeparamref name="TResult">result</typeparamref> of the operation.</returns>
381 </member>
382 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Search(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
383 <summary>
384 Search the dbSet with the given expression. This takes into account valid partitions
385 for the user
386 </summary>
387 <param name="where">Expression used to search the data</param>
388 <returns>IQueryable containing result data</returns>
389 </member>
390 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Single(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
391 <summary>
392 Get a single entity from the dbSet defined by the given where clause. This takes
393 into account valid partitions for the user
394 </summary>
395 <param name="where">Expression used to search the data</param>
396 <returns>IQueryable containing result data</returns>
397 </member>
398 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Single(System.Func{System.Linq.IQueryable{`0},System.Linq.IQueryable{`0}})">
399 <summary>
400 Get a single entity from the dbSet defined by the given query. This takes
401 into account valid partitions for the user
402 </summary>
403 <param name="query">Query used to search the data</param>
404 <returns>IQueryable containing result data</returns>
405 </member>
406 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.GetById(System.Int32)">
407 <summary>
408 Get entity by the id
409 </summary>
410 <param name="id">Guid of the entity</param>
411 <returns>Result entity</returns>
412 </member>
413 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.First(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
414 <summary>
415 Get the first entity from the dbSet defined by the given where clause. This takes
416 into account valid partitions for the user
417 </summary>
418 <param name="where">Expression used to search the data</param>
419 <returns>IQueryable containing result data</returns>
420 </member>
421 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.First(System.Func{System.Linq.IQueryable{`0},System.Linq.IQueryable{`0}})">
422 <summary>
423 Get the first entity from the dbSet defined by the given query. This takes
424 into account valid partitions for the user
425 </summary>
426 <param name="query">Query used to search the data</param>
427 <returns>IQueryable containing result data</returns>
428 </member>
429 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Delete(`0)">
430 <summary>
431 Delete the given entity from the data set
432 </summary>
433 <param name="entity">Entity to be deleted</param>
434 </member>
435 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Add(`0)">
436 <summary>
437 Add the given entity to the data set
438 </summary>
439 <param name="entity">Entity to be added</param>
440 </member>
441 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
442 <summary>
443 Add a range of entities to the data set
444 </summary>
445 <param name="entities">Range of entities to be added</param>
446 </member>
447 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Attach(`0)">
448 <summary>
449 Attaches the given entity to the context underlying the set. That is, the entity
450 is placed into the context in the Unchanged state, just as if it had been read from the database.
451 </summary>
452 <param name="entity">The entity to be attached</param>
453 </member>
454 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Lock(`0)">
455 <summary>
456 Lock the given entity in the data set
457 </summary>
458 <param name="entity">The entity to be locked</param>
459 </member>
460 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Lock(System.Int32,System.String,System.Type)">
461 <summary>
462 This obtains an update lock on a given row by ID, or waits until it can get one (or times out).
463 </summary>
464 <param name="id">Id of the entity to be locked</param>
465 <param name="table">Table in which the entity is stored</param>
466 <param name="entType">Type of the entity</param>
467 </member>
468 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Refresh(`0)">
469 <summary>
470 This refreshes the contents of a given object from the database.
471 </summary>
472 <param name="entity">The entity to be refreshed</param>
473 </member>
474 <member name="P:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.Context">
475 <summary>
476 The context on wich the repository is based.
477 </summary>
478 <returns>Context</returns>
479 </member>
480 <member name="P:Bowling.Domain.Concrete.EntityFramework.EFRepository`1.DbSet">
481 <summary>
482 The dbSet object retrieved from the context
483 </summary>
484 <returns>DbSet</returns>
485 </member>
486 <member name="T:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork">
487 <summary>
488 Entity framework unit of work. A set of changes to be committed at one time
489 </summary>
490 </member>
491 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.#ctor(System.Func{Bowling.Domain.Concrete.EntityFramework.IDbContext})">
492 <summary>
493 Constructor creating the unit of work from functions defining the
494 various contexts
495 </summary>
496 <param name="dataContextFunc">Function returning the data context</param>
497 </member>
498 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.ContextFor``1">
499 <summary>
500 Return the correct context for the given type parameter
501 </summary>
502 <typeparam name="T">Type</typeparam>
503 <returns>Context</returns>
504 </member>
505 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.Commit">
506 <summary>
507 Commit the unit of work to the database
508 </summary>
509 </member>
510 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.CommitAsync">
511 <summary>
512 Commit the unit of work to the database
513 </summary>
514 </member>
515 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.Dispose">
516 <summary>
517 Dispose the unit of work and associated contexts
518 </summary>
519 </member>
520 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.ContainsLockKey(System.Type,System.Int32)">
521 <summary>
522 Check if there is a lock inthe lock table for the Type, id pair
523 </summary>
524 <param name="entity">Type</param>
525 <param name="i">Id</param>
526 <returns>Lock found?</returns>
527 </member>
528 <member name="M:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.AddToLockTable(System.Type,System.Int32)">
529 <summary>
530 Add the given type id pair to the lock table
531 </summary>
532 <param name="entity">Type</param>
533 <param name="i">Id</param>
534 </member>
535 <member name="P:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.Context">
536 <summary>
537 The context being used
538 </summary>
539 <returns>context</returns>
540 </member>
541 <member name="P:Bowling.Domain.Concrete.EntityFramework.EFUnitOfWork.DataContext">
542 <summary>
543 The database context being used
544 </summary>
545 <returns>Data context</returns>
546 </member>
547 <member name="T:Bowling.Domain.Abstract.IRepositoryExtensions">
548 <summary>
549 Provides extension methods for the <see cref="T:Bowling.Domain.Abstract.IRepository`1"/> and <see cref="T:Bowling.Domain.Abstract.IRepository`1"/> interfaces.
550 </summary>
551 </member>
552 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAsync``1(Bowling.Domain.Abstract.IRepository{``0},System.Func{System.Linq.IQueryable{``0},System.Linq.IQueryable{``0}})">
553 <summary>
554 Retrieves all items in the repository satisfied by the specified query asynchronously.
555 </summary>
556 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
557 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
558 <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>
559 <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>
560 of <typeparamref name="T">items</typeparamref>.</returns>
561 <example>The following example demonstrates how to paginate the items in a repository using an example query.
562 <code><![CDATA[
563 using Microsoft.DesignPatterns.Examples;
564 using System;
565 using System.Collections.Generic;
566 using System.Linq;
567 using System.Threading;
568 using System.Threading.Tasks;
569
570 public async static void Main()
571 {
572 var index = 0;
573 var repository = new MyRepository();
574
575 foreach ( var item in await repository.GetAsync( q => q.Where( i => i.FirstName.StartsWith( "Jo" ) ).OrderBy( i => i.LastName ) );
576 Console.WriteLine( i => i.ToString() );
577 }
578 ]]>
579 </code></example>
580 </member>
581 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAsync``2(Bowling.Domain.Abstract.IRepository{``0},System.Func{System.Linq.IQueryable{``0},``1})">
582 <summary>
583 Retrieves a query result asynchronously.
584 </summary>
585 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
586 <typeparam name="TResult">The <see cref="T:System.Type">type</see> of result to retrieve.</typeparam>
587 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
588 <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>
589 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <typeparamref name="TResult">result</typeparamref> of the operation.</returns>
590 </member>
591 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAllAsync``1(Bowling.Domain.Abstract.IRepository{``0})">
592 <summary>
593 Retrieves all items in the repository asynchronously.
594 </summary>
595 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
596 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
597 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
598 of all <typeparamref name="T">items</typeparamref> in the repository.</returns>
599 <example>The following example demonstrates how to retrieve all items in a repository.
600 <code><![CDATA[
601 using Microsoft.DesignPatterns.Examples;
602 using System;
603 using System.Collections.Generic;
604 using System.Linq;
605 using System.Threading;
606 using System.Threading.Tasks;
607
608 public async static void Main()
609 {
610 var repository = new MyRepository();
611
612 foreach ( var item in await repository.GetAllAsync( i => i.LastName == "Doe" ) )
613 Console.WriteLine( item.ToString() );
614 }
615 ]]>
616 </code></example>
617 </member>
618 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetAllAsync``1(Bowling.Domain.Abstract.IRepository{``0},System.Threading.CancellationToken)">
619 <summary>
620 Retrieves all items in the repository asynchronously.
621 </summary>
622 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
623 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
624 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
625 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the <see cref="T:System.Collections.Generic.IEnumerable`1">sequence</see>
626 of all <typeparamref name="T">items</typeparamref> in the repository.</returns>
627 <example>The following example demonstrates how to retrieve all items in a repository.
628 <code><![CDATA[
629 using Microsoft.DesignPatterns.Examples;
630 using System;
631 using System.Collections.Generic;
632 using System.Linq;
633 using System.Threading;
634 using System.Threading.Tasks;
635
636 public async static void Main()
637 {
638 var repository = new MyRepository();
639 var cancellationToken = new CancellationToken();
640
641 foreach ( var item in await repository.GetAllAsync( i => i.LastName == "Doe", cancellationToken ) )
642 Console.WriteLine( item.ToString() );
643 }
644 ]]>
645 </code></example>
646 </member>
647 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.FindByAsync``1(Bowling.Domain.Abstract.IRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
648 <summary>
649 Searches for items in the repository that match the specified predicate asynchronously.
650 </summary>
651 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
652 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
653 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
654 match the requested <typeparamref name="T">items</typeparamref>.</param>
655 <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>
656 of <typeparamref name="T">items</typeparamref>.</returns>
657 <example>The following example demonstrates how to find items in a repository.
658 <code><![CDATA[
659 using Microsoft.DesignPatterns.Examples;
660 using System;
661 using System.Collections.Generic;
662 using System.Linq;
663 using System.Threading;
664 using System.Threading.Tasks;
665
666 public async static void Main()
667 {
668 var repository = new MyRepository();
669 var items = await repository.FindByAsync( i => i.LastName == "Doe" );
670 items.ForEach( i => Console.WriteLine( i.ToString() ) );
671 }
672 ]]>
673 </code></example>
674 </member>
675 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.FindByAsync``1(Bowling.Domain.Abstract.IRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Threading.CancellationToken)">
676 <summary>
677 Searches for items in the repository that match the specified predicate asynchronously.
678 </summary>
679 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
680 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
681 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
682 match the requested <typeparamref name="T">items</typeparamref>.</param>
683 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
684 <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>
685 of <typeparamref name="T">items</typeparamref>.</returns>
686 <example>The following example demonstrates how to find items in a repository.
687 <code><![CDATA[
688 using Microsoft.DesignPatterns.Examples;
689 using System;
690 using System.Collections.Generic;
691 using System.Linq;
692 using System.Threading;
693 using System.Threading.Tasks;
694
695 public async static void Main()
696 {
697 var repository = new MyRepository();
698 var cancellationToken = new CancellationToken();
699 var items = await repository.FindByAsync( i => i.LastName == "Doe", cancellationToken );
700 items.ForEach( i => Console.WriteLine( i.ToString() ) );
701 }
702 ]]>
703 </code></example>
704 </member>
705 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetSingleAsync``1(Bowling.Domain.Abstract.IRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
706 <summary>
707 Retrieves a single item in the repository matching the specified predicate asynchronously.
708 </summary>
709 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
710 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
711 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
712 match the requested <typeparamref name="T">item</typeparamref>.</param>
713 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the matched <typeparamref name="T">item</typeparamref>
714 or null if no match was found.</returns>
715 <example>The following example demonstrates how to retrieve a single item from a repository.
716 <code><![CDATA[
717 using Microsoft.DesignPatterns.Examples;
718 using System;
719 using System.Collections.Generic;
720 using System.Linq;
721 using System.Threading;
722 using System.Threading.Tasks;
723
724 public async static void Main()
725 {
726 var repository = new MyRepository();
727 var item = await repository.GetSingleAsync( i => i.Id == 1 );
728 Console.WriteLine( item.ToString() );
729 }
730 ]]>
731 </code></example>
732 </member>
733 <member name="M:Bowling.Domain.Abstract.IRepositoryExtensions.GetSingleAsync``1(Bowling.Domain.Abstract.IRepository{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Threading.CancellationToken)">
734 <summary>
735 Retrieves a single item in the repository matching the specified predicate asynchronously.
736 </summary>
737 <typeparam name="T">The <see cref="T:System.Type">type</see> of item in the repository.</typeparam>
738 <param name="repository">The extended <see cref="T:Bowling.Domain.Abstract.IRepository`1">repository</see>.</param>
739 <param name="predicate">The <see cref="T:System.Linq.Expressions.Expression`1">expression</see> representing the predicate used to
740 match the requested <typeparamref name="T">item</typeparamref>.</param>
741 <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">cancellation token</see> that can be used to cancel the operation.</param>
742 <returns>A <see cref="T:System.Threading.Tasks.Task`1">task</see> containing the matched <typeparamref name="T">item</typeparamref>
743 or null if no match was found.</returns>
744 <example>The following example demonstrates how to retrieve a single item from a repository.
745 <code><![CDATA[
746 using Microsoft.DesignPatterns.Examples;
747 using System;
748 using System.Collections.Generic;
749 using System.Linq;
750 using System.Threading;
751 using System.Threading.Tasks;
752
753 public async static void Main()
754 {
755 var repository = new MyRepository();
756 var item = await repository.GetSingleAsync( i => i.Id == 1 );
757 Console.WriteLine( item.ToString() );
758 }
759 ]]>
760 </code></example>
761 </member>
762 <member name="T:Bowling.Domain.Concrete.EntityFramework.Mapping.AttendeeMap">
763 <summary>
764 Contact database field definition
765 </summary>
766 </member>
767 <member name="M:Bowling.Domain.Concrete.EntityFramework.Mapping.AttendeeMap.#ctor">
768 <summary>
769 Define the table fields
770 </summary>
771 </member>
772 <member name="T:Bowling.Domain.Concrete.EntityFramework.Mapping.BowlerMap">
773 <summary>
774 Contact database field definition
775 </summary>
776 </member>
777 <member name="M:Bowling.Domain.Concrete.EntityFramework.Mapping.BowlerMap.#ctor">
778 <summary>
779 Define the table fields
780 </summary>
781 </member>
782 <member name="T:Bowling.Domain.Concrete.EntityFramework.Mapping.EventMap">
783 <summary>
784 Contact database field definition
785 </summary>
786 </member>
787 <member name="M:Bowling.Domain.Concrete.EntityFramework.Mapping.EventMap.#ctor">
788 <summary>
789 Define the table fields
790 </summary>
791 </member>
792 <member name="T:Bowling.Domain.Concrete.EntityFramework.Mapping.FoodOptionMap">
793 <summary>
794 Contact database field definition
795 </summary>
796 </member>
797 <member name="M:Bowling.Domain.Concrete.EntityFramework.Mapping.FoodOptionMap.#ctor">
798 <summary>
799 Define the table fields
800 </summary>
801 </member>
802 <member name="T:Bowling.Domain.Concrete.EntityFramework.Mapping.ResultMap">
803 <summary>
804 Contact database field definition
805 </summary>
806 </member>
807 <member name="M:Bowling.Domain.Concrete.EntityFramework.Mapping.ResultMap.#ctor">
808 <summary>
809 Define the table fields
810 </summary>
811 </member>
812 <member name="T:Bowling.Domain.Concrete.EntityFramework.Mapping.RoundMap">
813 <summary>
814 Contact database field definition
815 </summary>
816 </member>
817 <member name="M:Bowling.Domain.Concrete.EntityFramework.Mapping.RoundMap.#ctor">
818 <summary>
819 Define the table fields
820 </summary>
821 </member>
822 <member name="T:Bowling.Domain.Entities.Attendee">
823 <summary>
824 Record of which bowlers attended each event, along with their food option and score
825 </summary>
826 </member>
827 <member name="T:Bowling.Domain.Entities.BaseEntity">
828 <summary>
829 Base entity used by all entities
830 </summary>
831 </member>
832 <member name="M:Bowling.Domain.Entities.BaseEntity.OnPropertyChanged(System.String)">
833 <summary>
834 On property changed event
835 </summary>
836 <param name="propertyName">Property being changed</param>
837 </member>
838 <member name="M:Bowling.Domain.Entities.BaseEntity.OnPropertyChanging(System.String)">
839 <summary>
840 Property changing event
841 </summary>
842 <param name="propertyName">Property being changed</param>
843 </member>
844 <member name="P:Bowling.Domain.Entities.BaseEntity.Id">
845 <summary>
846 Key
847 </summary>
848 </member>
849 <member name="E:Bowling.Domain.Entities.BaseEntity.PropertyChanged">
850 <summary>
851 Property changed event handler
852 </summary>
853 </member>
854 <member name="E:Bowling.Domain.Entities.BaseEntity.PropertyChanging">
855 <summary>
856 Property changing event handler
857 </summary>
858 </member>
859 <member name="M:Bowling.Domain.Entities.Attendee.#ctor(Bowling.Domain.Entities.Bowler,Bowling.Domain.Entities.Event,Bowling.Domain.Entities.FoodOption)">
860 <summary>
861 only constructor
862 </summary>
863 <param name="bowler"></param>
864 <param name="bowlingEvent"></param>
865 <param name="foodOption"></param>
866 </member>
867 <member name="P:Bowling.Domain.Entities.Attendee.Bowler">
868 <summary>
869 Bowler who attended event
870 </summary>
871 </member>
872 <member name="P:Bowling.Domain.Entities.Attendee.Event">
873 <summary>
874 Event Attended
875 </summary>
876 </member>
877 <member name="P:Bowling.Domain.Entities.Attendee.FoodOption">
878 <summary>
879 Choice of food
880 </summary>
881 </member>
882 <member name="P:Bowling.Domain.Entities.Attendee.Paid">
883 <summary>
884 Has the bowler paid for the event
885 </summary>
886 </member>
887 <member name="P:Bowling.Domain.Entities.Attendee.PaidDateTime">
888 <summary>
889 Date and Time bowler paid for the event
890 </summary>
891 </member>
892 <member name="P:Bowling.Domain.Entities.Attendee.SignUpDateTime">
893 <summary>
894 Date and Time Bowler signed up for the event
895 </summary>
896 </member>
897 <member name="P:Bowling.Domain.Entities.Attendee.Results">
898 <summary>
899 Bowling scores
900 </summary>
901 </member>
902 <member name="T:Bowling.Domain.Entities.Bowler">
903 <summary>
904 A Bowler
905 </summary>
906 </member>
907 <member name="P:Bowling.Domain.Entities.Bowler.Name">
908 <summary>
909 Display name of bowler
910 </summary>
911 </member>
912 <member name="P:Bowling.Domain.Entities.Bowler.Attendees">
913 <summary>
914 List of all the times the bowler was an attendee of an event
915 </summary>
916 </member>
917 <member name="T:Bowling.Domain.Entities.Event">
918 <summary>
919 Bowling event night
920 </summary>
921 </member>
922 <member name="P:Bowling.Domain.Entities.Event.Name">
923 <summary>
924 Name of event
925 </summary>
926 </member>
927 <member name="P:Bowling.Domain.Entities.Event.Description">
928 <summary>
929 Event description
930 </summary>
931 </member>
932 <member name="P:Bowling.Domain.Entities.Event.Price">
933 <summary>
934 Price
935 </summary>
936 </member>
937 <member name="P:Bowling.Domain.Entities.Event.Attendees">
938 <summary>
939 List of Bowlers attending event
940 </summary>
941 </member>
942 </members>
943</doc>