using Common.Models.Notification; using Common.Models.RequestResponse; using Common.Models.SendSMS; using Common.Utility; using log4net; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Net.Mail; using System.Net.Mime; using System.Threading.Tasks; namespace Business.BusinessLogic.NotificationApiService { public class NotificationService : INotificationService { private readonly ILog _log = LogManager.GetLogger(typeof(NotificationService)); public NotificationService() { } public TPResponse NotificationApiMethod(SendNotificationRequest model) { var map = Helpers.GetMapping(Common.Models.Enums.MappingType.NOTIFICATION_TYPE, model.NotificationTypeId); var response = new TPResponse(); switch (map.DValue) { case "P": response = new FireBaseService().PushNotify(model); break; case "E": response = new EmailService().SendEmail(model); break; case "S": response = SendSMS(model); break; default: response = new TPResponse() { ResponseCode = "1", Msg = "No Method Found." }; break; } return response; } private TPResponse SendSMS(SendNotificationRequest model) { TPResponse _tPResponse = new TPResponse() { ResponseCode = "1" }; return _tPResponse; } private TPResponse SendPushNotification(SendNotificationRequest model) { TPResponse _tPResponse = new TPResponse() { ResponseCode = "1" }; return _tPResponse; } } }