This commit is contained in:
2024-03-26 11:30:38 +03:00
parent 66b5f5741b
commit 16cd01cc7e
21 changed files with 189 additions and 280 deletions

View File

@@ -1,14 +0,0 @@
namespace anbs_cp.Interfaces;
/// <summary>
/// Интерфейс ошибки
/// </summary>
public interface IActionError : IActionStateMessage
{
/// <summary>
/// Критичность ошибки:
/// при некритичных ошибках продолжение выполнения операции возможно,
/// а при критичных -- нет
/// </summary>
public bool IsCritical { get; init; }
}

View File

@@ -1,12 +0,0 @@
namespace anbs_cp.Interfaces;
/// <summary>
/// Интерфейс для информации по статусу
/// </summary>
public interface IActionInfo : IActionStateMessage
{
/// <summary>
/// Статусная информация (например, начало работы)
/// </summary>
public bool IsStatusInfo { get; init; }
}

View File

@@ -10,22 +10,21 @@ public interface IActionState
/// <summary>
/// Список информации
/// </summary>
List<IActionInfo> Info { get; }
List<IActionStateMessage> Info { get; }
/// <summary>
/// Список предупреждений
/// </summary>
List<IActionWarning> Warnings { get; }
List<IActionStateMessage> Warnings { get; }
/// <summary>
/// Список ошибок
/// </summary>
List<IActionError> Errors { get; }
List<IActionStateMessage> Errors { get; }
/// <summary>
/// Добавляет другое состояние (например, результат другого действия, который возвращает <see cref="ActionState{T}"/>).
/// </summary>
/// <typeparam name="T">Тип параметра</typeparam>
/// <param name="state">Запись состояния</param>
void AddState (IActionState state);
}

View File

@@ -3,8 +3,13 @@
/// <summary>
/// Интерфейс сообщения состояния
/// </summary>
public interface IActionStateMessage
public interface IActionStateMessage: ISerializable
{
/// <summary>
/// Критичность сообщения
/// </summary>
public bool IsCritical { get; set; }
/// <summary>
/// Объект сообщения
/// </summary>

View File

@@ -1,12 +0,0 @@
namespace anbs_cp.Interfaces;
/// <summary>
/// Интерфейс предупреждения
/// </summary>
public interface IActionWarning : IActionStateMessage
{
/// <summary>
/// Информирующее предупреждение возникает для предупреждения ВОЗМОЖНОЙ ошибки в дальнейшей эксплуатации и не влияет на текущую операцию.
/// </summary>
public bool IsInformWarning { get; init; }
}

View File

@@ -65,6 +65,7 @@ public interface IValueFormatter
for (int i = 0; i <= DecimalPlaces; i++) delim *= 10;
// ReSharper disable once PossibleLossOfFraction
decimal value = Math.Round((decimal)(dividend * delim / divider)) / delim;
return $"{value}";