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; namespace TIAMWebApp.Shared.Application.Services { public class ClientNoticeSenderService : IClientNoticeSenderService { private readonly HttpClient http; public ClientNoticeSenderService(HttpClient http) { this.http = http; } public async Task> GetAllMessagesAsync() { throw new NotImplementedException(); } public async Task> GetMessagesByContextIdAsync() { throw new NotImplementedException(); } public async Task SendNoticeAsync(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 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"; } } } }