45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|