diff --git a/AsbCloudApp/Data/SAUB/TelemetryEventDto.cs b/AsbCloudApp/Data/SAUB/TelemetryEventDto.cs
new file mode 100644
index 00000000..e9a8a90e
--- /dev/null
+++ b/AsbCloudApp/Data/SAUB/TelemetryEventDto.cs
@@ -0,0 +1,29 @@
+namespace AsbCloudApp.Data.SAUB;
+
+///
+/// dto для события телеметрии
+///
+public class TelemetryEventDto
+{
+ ///
+ /// ключ события
+ ///
+ public object Id { get; set; }
+
+ ///
+ /// ключ категории
+ ///
+ public int IdCategory { get; set; }
+
+ ///
+ /// шаблон сообщения
+ ///
+ public string MessageTemplate { get; set; } = null!;
+
+ ///
+ /// метод формирования текста сообщения по шаблону
+ ///
+ /// аргументы, которые подставляются в шаблон сообщения
+ ///
+ public string MakeMessageText(string?[] args) => string.Format(MessageTemplate, args);
+}
diff --git a/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs b/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs
index 572ab650..b34d1289 100644
--- a/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs
+++ b/AsbCloudApp/Data/SAUB/TelemetryMessageDto.cs
@@ -7,13 +7,6 @@ namespace AsbCloudApp.Data.SAUB;
///
public class TelemetryMessageDto : IId
{
- ///
- ///
- ///
- public TelemetryMessageDto()
- {
-
- }
///
/// Id сообщения в базе панели оператора
///
diff --git a/AsbCloudApp/Data/StatCriticalMessageDto.cs b/AsbCloudApp/Data/StatCriticalMessageDto.cs
new file mode 100644
index 00000000..e8640ab6
--- /dev/null
+++ b/AsbCloudApp/Data/StatCriticalMessageDto.cs
@@ -0,0 +1,28 @@
+
+namespace AsbCloudApp.Data;
+
+///
+/// dto для отображения статистики сообщений
+///
+public class StatCriticalMessageDto
+{
+ ///
+ /// ключ телеметрии
+ ///
+ public int IdTelemetry { get; set; }
+
+ ///
+ /// ключ категории
+ ///
+ public int? IdCategory { get; set; }
+
+ ///
+ /// шаблон сообщения
+ ///
+ public string? MessageTemplate { get; set; }
+
+ ///
+ /// количество сообщений
+ ///
+ public int MessagesCount { get; set; }
+}
diff --git a/AsbCloudInfrastructure.Tests/Services/MessageServiceTest.cs b/AsbCloudInfrastructure.Tests/Services/MessageServiceTest.cs
index 955c2101..c6a0627d 100644
--- a/AsbCloudInfrastructure.Tests/Services/MessageServiceTest.cs
+++ b/AsbCloudInfrastructure.Tests/Services/MessageServiceTest.cs
@@ -4,15 +4,10 @@ using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
using AsbCloudDb.Model;
-using AsbCloudInfrastructure.Repository;
using AsbCloudInfrastructure.Services;
-using AsbCloudInfrastructure.Services.SAUB;
-using DocumentFormat.OpenXml.Office2010.ExcelAc;
using NSubstitute;
-using Org.BouncyCastle.Asn1.Ocsp;
using System;
using System.Collections.Generic;
-using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@@ -48,69 +43,69 @@ public class MessageServiceTest
{
Id = 1,
IdCategory = 1,
- MessageTemplate = " 1 1"
+ MessageTemplate = "Шаблон сообщения 1 категории 1"
},
new TelemetryEventDto()
{
Id = 2,
IdCategory = 1,
- MessageTemplate = " 2 1"
+ MessageTemplate = "Шаблон сообщения 2 категории 1"
},
new TelemetryEventDto()
{
Id = 3,
IdCategory = 1,
- MessageTemplate = " 3 1"
+ MessageTemplate = "Шаблон сообщения 3 категории 1"
},
new TelemetryEventDto()
{
Id = 4,
IdCategory = 2,
- MessageTemplate = " 1 2"
+ MessageTemplate = "Шаблон сообщения 1 категории 2"
},
new TelemetryEventDto()
{
Id = 5,
IdCategory = 2,
- MessageTemplate = " 2 2"
+ MessageTemplate = "Шаблон сообщения 2 категории 2"
},
new TelemetryEventDto()
{
Id = 6,
IdCategory = 3,
- MessageTemplate = " 1 3"
+ MessageTemplate = "Шаблон сообщения 1 категории 3"
}
};
///
- /// :
- /// 1:
- /// 1:
- /// 1:
- /// 1
- /// 2
- /// 3
- /// 2:
- /// 1
- /// 2
- /// 3
- /// 3:
- /// 1
- /// 2
- /// 3
- /// 2:
- /// 2:
- /// 1
- /// 2
- /// 3:
- /// 1
- /// 2
- /// 2
- /// 3:
- /// 3:
- /// 1
- /// 2
- /// 3
+ /// Структура:
+ /// Телеметрия 1:
+ /// Категория 1:
+ /// Событие 1:
+ /// Сообщение 1
+ /// Сообщение 2
+ /// Сообщение 3
+ /// Событие 2:
+ /// Сообщение 1
+ /// Сообщение 2
+ /// Сообщение 3
+ /// Событие 3:
+ /// Сообщение 1
+ /// Сообщение 2
+ /// Сообщение 3
+ /// Категория 2:
+ /// Событие 2:
+ /// Сообщение 1
+ /// Сообщение 2
+ /// Событие 3:
+ /// Сообщение 1
+ /// Сообщение 2
+ /// Телеметрия 2
+ /// Категория 3:
+ /// Событие 3:
+ /// Сообщение 1
+ /// Сообщение 2
+ /// Сообщение 3
///
///
private static readonly List messages = new List()
@@ -219,7 +214,6 @@ public class MessageServiceTest
private readonly IMessageRepository messageRepositoryMock = Substitute.For();
private readonly IEventRepository eventRepositoryMock = Substitute.For();
private readonly ITelemetryService telemetryServiceMock = Substitute.For();
- private readonly IAsbCloudDbContext db = Substitute.For();
public MessageServiceTest()
{
@@ -256,7 +250,7 @@ public class MessageServiceTest
var mCount_Telemetry_1_Category_1_Template_1_Actual = result
.Where(x => x.IdTelemetry == 1)
.Where(x => x.IdCategory == 1)
- .Where(x => x.MessageTemplate == " 1 1")
+ .Where(x => x.MessageTemplate == "Шаблон сообщения 1 категории 1")
.Sum(x => x.MessagesCount);
Assert.Equal(mCount_Telemetry_1_Category_1_Template_1_Expected, mCount_Telemetry_1_Category_1_Template_1_Actual);
@@ -267,7 +261,7 @@ public class MessageServiceTest
var mCount_Telemetry_1_Category_1_Template_2_Actual = result
.Where(x => x.IdTelemetry == 1)
.Where(x => x.IdCategory == 1)
- .Where(x => x.MessageTemplate == " 2 1")
+ .Where(x => x.MessageTemplate == "Шаблон сообщения 2 категории 1")
.Sum(x => x.MessagesCount);
Assert.Equal(mCount_Telemetry_1_Category_1_Template_2_Expected, mCount_Telemetry_1_Category_1_Template_2_Actual);
@@ -278,7 +272,7 @@ public class MessageServiceTest
var mCount_Telemetry_1_Category_1_Template_3_Actual = result
.Where(x => x.IdTelemetry == 1)
.Where(x => x.IdCategory == 1)
- .Where(x => x.MessageTemplate == " 3 1")
+ .Where(x => x.MessageTemplate == "Шаблон сообщения 3 категории 1")
.Sum(x => x.MessagesCount);
Assert.Equal(mCount_Telemetry_1_Category_1_Template_3_Expected, mCount_Telemetry_1_Category_1_Template_3_Actual);
@@ -289,7 +283,7 @@ public class MessageServiceTest
var mCount_Telemetry_1_Category_2_Template_2_Actual = result
.Where(x => x.IdTelemetry == 1)
.Where(x => x.IdCategory == 2)
- .Where(x => x.MessageTemplate == " 2 2")
+ .Where(x => x.MessageTemplate == "Шаблон сообщения 2 категории 2")
.Sum(x => x.MessagesCount);
Assert.Equal(mCount_Telemetry_1_Category_2_Template_2_Expected, mCount_Telemetry_1_Category_2_Template_2_Actual);
@@ -300,7 +294,7 @@ public class MessageServiceTest
var mCount_Telemetry_1_Category_2_Template_3_Actual = result
.Where(x => x.IdTelemetry == 1)
.Where(x => x.IdCategory == 2)
- .Where(x => x.MessageTemplate == " 3 2")
+ .Where(x => x.MessageTemplate == "Шаблон сообщения 3 категории 2")
.Sum(x => x.MessagesCount);
Assert.Equal(mCount_Telemetry_1_Category_2_Template_3_Expected, mCount_Telemetry_1_Category_2_Template_3_Actual);
@@ -311,7 +305,7 @@ public class MessageServiceTest
var mCount_Telemetry_2_Category_3_Template_1_Actual = result
.Where(x => x.IdTelemetry == 2)
.Where(x => x.IdCategory == 3)
- .Where(x => x.MessageTemplate == " 1 3")
+ .Where(x => x.MessageTemplate == "Шаблон сообщения 1 категории 3")
.Sum(x => x.MessagesCount);
Assert.Equal(mCount_Telemetry_2_Category_3_Template_1_Expected, mCount_Telemetry_2_Category_3_Template_1_Actual);
}