Skip to content

Commit 45ff68a

Browse files
committed
Add count items for release on changelog service.
1 parent a23c4f0 commit 45ff68a

File tree

5 files changed

+51
-1
lines changed

5 files changed

+51
-1
lines changed

AzureDevopsTracker/Configurations/Configuration.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@ public static IServiceCollection AddAzureDevopsTracker(this IServiceCollection s
2121
services.AddScoped<AzureDevopsTrackerContext>();
2222
services.AddScoped<IWorkItemAdapter, WorkItemAdapter>();
2323
services.AddScoped<IWorkItemRepository, WorkItemRepository>();
24+
2425
services.AddScoped<IAzureDevopsTrackerService, AzureDevopsTrackerService>();
2526

27+
services.AddScoped<IChangeLogService, ChangeLogService>();
28+
services.AddScoped<IChangeLogItemRepository, ChangeLogItemRepository>();
29+
2630
return services;
2731
}
2832

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using AzureDevopsTracker.Data.Context;
2+
using AzureDevopsTracker.Entities;
3+
using AzureDevopsTracker.Interfaces.Internals;
4+
using System.Linq;
5+
6+
namespace AzureDevopsTracker.Data
7+
{
8+
internal class ChangeLogItemRepository : Repository<ChangeLogItem>, IChangeLogItemRepository
9+
{
10+
public ChangeLogItemRepository(AzureDevopsTrackerContext context) : base(context) { }
11+
12+
public int CountItemsForRelease()
13+
{
14+
return DbSet.Count(x => string.IsNullOrEmpty(x.ChangeLogId));
15+
}
16+
}
17+
}

AzureDevopsTracker/Interfaces/IChangeLogService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
{
33
public interface IChangeLogService
44
{
5-
5+
int CountItemsForRelease();
66
}
77
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using AzureDevopsTracker.Entities;
2+
3+
namespace AzureDevopsTracker.Interfaces.Internals
4+
{
5+
public interface IChangeLogItemRepository : IRepository<ChangeLogItem>
6+
{
7+
int CountItemsForRelease();
8+
}
9+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using AzureDevopsTracker.Interfaces;
2+
using AzureDevopsTracker.Interfaces.Internals;
3+
4+
namespace AzureDevopsTracker.Services
5+
{
6+
public class ChangeLogService : IChangeLogService
7+
{
8+
private readonly IChangeLogItemRepository _changeLogItemRepository;
9+
10+
public ChangeLogService(IChangeLogItemRepository changeLogItemRepository)
11+
{
12+
_changeLogItemRepository = changeLogItemRepository;
13+
}
14+
15+
public int CountItemsForRelease()
16+
{
17+
return _changeLogItemRepository.CountItemsForRelease();
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)