mh_frame_sps/APT.Infrastructure.Core/Structs/LibMessageManager.cs

45 lines
1.3 KiB
C#
Raw Normal View History

2026-04-07 13:47:52 +08:00
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
namespace APT.Infrastructure.Core
{
public class LibMessageManager: ILibMessageManager
{
private readonly List<EFApiActionMessage> _messages = new List<EFApiActionMessage>();
public void AddMessage(EFMessageType type, string message)
{
AddMessage(type, string.Empty, message);
}
public void AddMessage(EFMessageType type, string code, string message)
{
lock (_messages)
{
_messages.Add(new EFApiActionMessage()
{
Code = code,
MessageType = type,
Message = message,
});
}
}
public void AddMessage(EFApiActionMessage message)
{
lock (_messages)
{
_messages.Add(message);
}
}
public void StoreMessage<T>(EFApiActionResult<T> ret)
{
if (ret == null) return;
if (_messages == null || !_messages.Any()) return;
ret.Messages.AddRange(_messages);
if (ret.Messages.Any(t => t.MessageType == EFMessageType.Error))
ret.IsError = true;
}
}
}