Moving Notification to dedicated Service namespace

This commit is contained in:
rockstardev
2020-06-14 23:47:11 -05:00
parent 342f63a625
commit 0dab96f0a6
8 changed files with 11 additions and 13 deletions

View File

@@ -0,0 +1,32 @@
using System;
using BTCPayServer.Data;
using BTCPayServer.Models.NotificationViewModels;
using Newtonsoft.Json;
namespace BTCPayServer.Services.Notifications.Blobs
{
// Make sure to keep all NotificationEventBase classes in same namespace
// because of dependent initialization and parsing to view models logic
// IndexViewModel.cs#32
internal abstract class NotificationBase
{
internal virtual string NotificationType { get { return GetType().Name; } }
public NotificationData ToData(string applicationUserId)
{
var obj = JsonConvert.SerializeObject(this);
var data = new NotificationData
{
Id = Guid.NewGuid().ToString(),
ApplicationUserId = applicationUserId,
NotificationType = NotificationType,
Blob = ZipUtils.Zip(obj),
Seen = false
};
return data;
}
public abstract void FillViewModel(NotificationViewModel data);
}
}