PageRenderTime 69ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 1ms

/Bowling/Bowling.Domain/App_Data/Bowling.Domain.XML

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

Large files files are truncated, but you can click here to view the full file