Skip to content

Commit 39224ba

Browse files
committed
code docs for manager classes were added
1 parent ef3b1e9 commit 39224ba

File tree

4 files changed

+26
-10
lines changed

4 files changed

+26
-10
lines changed

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Ef/Managers/EfModelManager.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ namespace Wissance.WebApiToolkit.Ef.Managers
2020
/// It has a default implementation of the following method of IModelManager:
2121
/// * GetAsync method for obtain many items
2222
/// * GetByIdAsync method for obtain one item by id
23-
/// * Delete method
23+
/// * Create method (if createObjFunc is not null)
24+
/// * Update method (if updateObjFunc is not null)
25+
/// * Bulk create method (if createObjFunc is not null)
26+
/// * Bulk update method (if updateObjFunc is not null)
27+
/// * Delete method
28+
/// * Bulk delete method
2429
/// </summary>
2530
/// <typeparam name="TCtx">Entity framework Database Context derives from DbContext</typeparam>
2631
/// <typeparam name="TRes">DTO class (representation of Model in other systems i.e. in frontend))</typeparam>

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Ef/Managers/EfSoftRemovableModelManager.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
namespace Wissance.WebApiToolkit.Ef.Managers
1616
{
1717
/// <summary>
18-
///
18+
/// This is a persistent object manager like EfModelManager bases on EntityFramework but works with TObj
19+
/// that are implementing IModelSoftRemovable interface (has field IsDeleted, true value means that object was
20+
/// logically removed). Derives from an already mentioned EfModelManager
1921
/// </summary>
2022
/// <typeparam name="TCtx">Entity framework Database Context derives from DbContext</typeparam>
2123
/// <typeparam name="TRes">DTO class (representation of Model in other systems i.e. in frontend))</typeparam>

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Ef/Managers/FullEfModelManager.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@
77

88
namespace Wissance.WebApiToolkit.Ef.Managers
99
{
10+
/// <summary>
11+
/// This is a fully defined implementation of a IModelManager, this is a not abstract class therefore
12+
/// it could be used as a Manager in any controller with specifying only a Generic parameters. Unlike
13+
/// other managers it has only one constructor with ManagerConfiguration
14+
/// </summary>
15+
/// <typeparam name="TCtx">Entity framework Database Context derives from DbContext</typeparam>
16+
/// <typeparam name="TRes">DTO class (representation of Model in other systems i.e. in frontend))</typeparam>
17+
/// <typeparam name="TObj">Model class implements IModelIdentifiable</typeparam>
18+
/// <typeparam name="TId">Identifier type that is using as database table PK</typeparam>
1019
public class FullEfModelManager<TCtx, TRes, TObj, TId> : EfModelManager<TCtx, TRes, TObj, TId>
1120
where TCtx : DbContext
1221
where TRes : class

Wissance.WebApiToolkit/Wissance.WebApiToolkit.Ef/Managers/SimplifiedEfModelManager.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace Wissance.WebApiToolkit.Ef.Managers
99
{
1010
/// <summary>
11-
/// TODO(umv): Write
11+
/// This manager is not an abstract, simplified due to TRes and TObj are the same TObj type.
1212
/// </summary>
1313
/// <typeparam name="TCtx">Entity framework Database Context derives from DbContext</typeparam>
1414
/// <typeparam name="TObj">Model class implements IModelIdentifiable</typeparam>
@@ -19,14 +19,14 @@ public class SimplifiedEfModelManager<TCtx, TObj, TId> : EfModelManager<TCtx, TO
1919
where TId: IComparable
2020
{
2121
/// <summary>
22-
///
22+
/// Constructor of default model manager requires that Model Context derives from EfDbContext
2323
/// </summary>
24-
/// <param name="dbContext"></param>
25-
/// <param name="filterFunc"></param>
26-
/// <param name="createResFunc"></param>
27-
/// <param name="createObjFunc"></param>
28-
/// <param name="updateObjFunc"></param>
29-
/// <param name="loggerFactory"></param>
24+
/// <param name="dbContext">Ef Database context</param>
25+
/// <param name="createResFunc">Delegate (factory func) for creating DTO from Model</param>
26+
/// <param name="createObjFunc">Delegate (factory func) for creating Entity from DTO</param>
27+
/// <param name="updateObjFunc">Delegate (factory func) for updating Entity from DTO</param>
28+
/// <param name="filterFunc">Function that use dictionary with query params to filter result set</param>
29+
/// <param name="loggerFactory">Logger factory</param>
3030
public SimplifiedEfModelManager(TCtx dbContext, Func<TObj, IDictionary<string, string>, bool> filterFunc,
3131
Func<TObj, TObj> createResFunc, Func<TObj, TCtx, TObj> createObjFunc, Action<TObj, TId, TCtx, TObj> updateObjFunc,
3232
ILoggerFactory loggerFactory)

0 commit comments

Comments
 (0)