using AyCode.Entities.Messages;
using AyCode.Interfaces.Messages;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Models.Enums;
using AyCode.Models.Messages;

namespace TIAMWebApp.Shared.Application.Models.ClientSide.Messages
{
    
    public class MessageSenderModel<TMessageType> where TMessageType : NoticeBase
    {
        public TMessageType Message { get; set; }
        //public NoticeBase? Message { get; set; }
        public MessageTypesEnum MessageType { get; set; }

        public MessageSenderModel()
        {

        }

        public MessageSenderModel(TMessageType message, MessageTypesEnum messageType)
        {

            Message = message;

            MessageType = messageType;
        }

        /*public MessageSenderModel(EmailMessage message, MessageTypesEnum messageType)
        {
            if (message is EmailMessage)
            {
                Message = new EmailMessage();
                Message = message as EmailMessage;
                Message = message;
            }
            /*else if (message is SmsMessage)
            {
                Message = message as SmsMessage;
            }
            else if (message is PushMessage)
            {
                Message = message as PushMessage;
            }
            else if (message is ChatMessage)
            {
                Message = message as ChatMessage;
            }
            else
            {
                Message = message;
            }

            MessageType = messageType;
        }*/
    }
}
