реализовала бизнес-логику для message

This commit is contained in:
Елена Бакальская 2024-05-04 19:09:36 +04:00
parent c06154b69a
commit 6bb3ed6d67

View File

@ -0,0 +1,42 @@
using Microsoft.Extensions.Logging;
using SushiBarContracts.BindingModel;
using SushiBarContracts.BusinessLogicsContracts;
using SushiBarContracts.SearchModel;
using SushiBarContracts.StoragesContracts;
using SushiBarContracts.ViewModels;
namespace SushiBarBusinessLogic
{
public class MessageInfoLogic : IMessageInfoLogic
{
private readonly ILogger logger;
private readonly IMessageInfoStorage messageStorage;
public MessageInfoLogic(ILogger<MessageInfoLogic> logger, IMessageInfoStorage messageStorage)
{
this.logger = logger;
this.messageStorage = messageStorage;
}
public bool Create(MessageInfoBindingModel model)
{
if(messageStorage.Insert(model) == null)
{
logger.LogWarning("Insert message operation failed");
}
return true;
}
public List<MessageInfoViewModel>? ReadList(MessageInfoSearchModel? model)
{
var list = model == null ? messageStorage.GetFullList() : messageStorage.GetFilteredList(model);
if(list == null)
{
logger.LogWarning("ReadList had returned a null list");
return null;
}
logger.LogInformation($"ReadList. Count of elements: {list.Count}");
return list;
}
}
}