TourIAm/TIAM.Models/SiteViewModel.cs

55 lines
1.3 KiB
C#

using AyCode.Blazor.Models.ViewModels;
using TIAM.Entities.Emails;
using TIAM.Models.PageViewModels;
namespace TIAM.Models;
public class SiteViewModel : AcSiteViewModel
{
private readonly object _forLock = new();
public int UnreadMessagesCount => UnreadMessages.Count;
public List<EmailMessage> UnreadMessages { get; } = [];
public DriverManageTransfersPageModel DriverManageTransfersPageModel { get; } = new();
public SiteViewModel()
{}
public SiteViewModel(IEnumerable<EmailMessage> unreadMessages)
{
Initialize(unreadMessages);
}
public void Initialize(SiteViewModel siteViewModel)
{
lock (_forLock)
{
//A PageViewModel-eket itt nem Initialize-oljuk, azok majd lefutnak miokor használjuk őket! - J.
Initialize(siteViewModel.UnreadMessages);
}
}
public void Initialize(IEnumerable<EmailMessage> unreadMessages)
{
lock (_forLock)
{
UnreadMessages.Clear();
UnreadMessages.AddRange(unreadMessages);
//UnreadMessagesCount = UnreadMessages.Count;
}
}
public void ClearAll()
{
lock (_forLock)
{
//UnreadMessagesCount = 0;
UnreadMessages.Clear();
DriverManageTransfersPageModel.ClearAll();
}
}
}