72 lines
2.2 KiB
C#
72 lines
2.2 KiB
C#
using TIAMWebApp.Shared.Application.Interfaces;
|
|
using TIAMWebApp.Shared.Application.Models.ClientSide;
|
|
using TIAMWebApp.Shared.Application.Models;
|
|
using System.Net.Http.Json;
|
|
//using AyCode.Models.Messages;
|
|
using TIAM.Entities.Emails;
|
|
using TIAMWebApp.Shared.Application.Models.ClientSide.Messages;
|
|
using EmailMessage = TIAM.Entities.Emails.EmailMessage;
|
|
|
|
namespace TIAMWebApp.Shared.Application.Services
|
|
{
|
|
public class ClientNoticeSenderService : IClientNoticeSenderService
|
|
{
|
|
private readonly HttpClient http;
|
|
|
|
public ClientNoticeSenderService(HttpClient http)
|
|
{
|
|
this.http = http;
|
|
}
|
|
|
|
public async Task<List<EmailMessage>> GetAllMessagesAsync()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public async Task<List<EmailMessage>> GetMessagesByContextIdAsync()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public async Task<string> SendNoticeAsync<TNotice>(TNotice message, int messageType) where TNotice : TIAM.Entities.Emails.EmailMessage
|
|
{
|
|
var url = $"{Setting.ApiBaseUrl}/{APIUrls.SendEmail}";
|
|
|
|
|
|
if (message != null)
|
|
{
|
|
EmailMessage? bleh = new EmailMessage();
|
|
bleh.Subject = message.Subject;
|
|
bleh.SenderId = message.SenderId;
|
|
|
|
|
|
if(messageType == (int)AyCode.Models.Enums.MessageTypesEnum.email)
|
|
{
|
|
MessageSenderModel<EmailMessage> messageModel = new EmailMessageSenderModel(bleh, (AyCode.Models.Enums.MessageTypesEnum)messageType);
|
|
|
|
messageModel.Message = message as EmailMessage;
|
|
|
|
var response = await http.PostAsJsonAsync(url, messageModel);
|
|
if (!response.IsSuccessStatusCode)
|
|
return null;
|
|
|
|
var result = (string)(await response.Content.ReadAsStringAsync());
|
|
return result;
|
|
}
|
|
|
|
else
|
|
{
|
|
return "Error sending the message";
|
|
}
|
|
}
|
|
|
|
else
|
|
{
|
|
return "Error sending the message";
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
}
|