diff --git a/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs b/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs index 22f126be..a3046a91 100644 --- a/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs +++ b/PARR.API/Contracts/V1/Responses/Statistics/StatTemplateDistributorResponse.cs @@ -4,7 +4,12 @@ { public WorkGroupResponse? WorkGroup { get; set; } - public int CountTemplates { get; set; } + public int AllCount { get; set; } + + public int IsActivatedAllCount { get; set; } + + public int IsDeactivatedAllCount { get; set; } + public List? Stat { get; set; } } @@ -12,6 +17,8 @@ public class StatTemplateDistributorDateStat { public DateTimeOffset Date { get; set; } - public int Count { get; set; } + public int AllCount { get; set; } + public int IsActivatedCount { get; set; } + public int IsDeactivatedCount { get;set; } } } diff --git a/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs b/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs index e3673e37..cab04a9f 100644 --- a/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs +++ b/PARR.API/Controllers/V1/Statistics/StatTemplateDistributionController.cs @@ -52,12 +52,19 @@ namespace PARR.API.Controllers.V1.Statistics { WorkGroupId = x.Key, CountTemplates = x.Count(), + IsActivatedAllCount = x.Count(t => t.IsActiveTemplate && t.IsActiveSchedule), + IsDeactivatedAllCount = x.Count(t => !t.IsActiveTemplate || !t.IsActiveSchedule || (!t.IsActiveTemplate && !t.IsActiveSchedule)), GroupingByDate = x.GroupBy(d => d.NextRun).OrderBy(d => d.Key).Select(d => new { Date = d.Key, - Count = d.Count() + //Всего + Count = d.Count(), + //Только активированных + IsActivatedCount = d.Count(t => t.IsActiveTemplate && t.IsActiveSchedule), + //Только деактивированных + IsDeactivatedCount = d.Count(t => !t.IsActiveTemplate || !t.IsActiveSchedule || (!t.IsActiveTemplate && !t.IsActiveSchedule)) } ) @@ -74,8 +81,16 @@ namespace PARR.API.Controllers.V1.Statistics var response = statResult.Select(stat => new StatTemplateDistributorResponse { WorkGroup = mapper.Map(workGroups.FirstOrDefault(x => x.Id == stat.WorkGroupId)), - CountTemplates = stat.CountTemplates, - Stat = stat.GroupingByDate.Select(x => new StatTemplateDistributorDateStat { Count = x.Count, Date = x.Date }).ToList() + AllCount = stat.CountTemplates, + IsActivatedAllCount = stat.IsActivatedAllCount, + IsDeactivatedAllCount = stat.IsDeactivatedAllCount, + Stat = stat.GroupingByDate.Select(x => new StatTemplateDistributorDateStat + { + AllCount = x.Count, + Date = x.Date, + IsActivatedCount = x.IsActivatedCount, + IsDeactivatedCount = x.IsDeactivatedCount + }).ToList() }) .OrderBy(t => t.WorkGroup?.Name) .ToList();