public async Task <Dto> Handle(Command request, CancellationToken cancellationToken) { var listNotif = konteks.notif.ToList(); var dataNotif = new notif_model() { message = request.data.Attributes.Message, title = request.data.Attributes.Title }; if (!listNotif.Any(x => x.title == request.data.Attributes.Title)) { konteks.notif.Add(dataNotif); } konteks.SaveChanges(); var Notif = konteks.notif.First(x => x.title == request.data.Attributes.Title); foreach (var x in request.data.Attributes.Target) { konteks.Add(new notif_logs_model { notification_id = Notif.id, type = request.data.Attributes.Type, from = request.data.Attributes.From, target = x.Id, email_destination = x.Email_destination }); if (x.Email_destination != "") { sendmail("*****@*****.**", x.Email_destination, request.data.Attributes.Title, request.data.Attributes.Message); BackgroundJob.Enqueue(() => Console.WriteLine("email sent")); } else { BackgroundJob.Enqueue(() => Console.WriteLine("no email destination")); } } konteks.SaveChanges(); return(new Dto { message = "notification posted", success = true }); }
public async Task <Dto> Handle(Command request, CancellationToken cancellationToken) { var listNotif = konteks.notif.ToList(); var dataNotif = new notif_model() { message = request.data.Attributes.Message, title = request.data.Attributes.Title }; if (!listNotif.Any(x => x.title == request.data.Attributes.Title)) { konteks.notif.Add(dataNotif); } konteks.SaveChanges(); var Notif = konteks.notif.First(x => x.title == request.data.Attributes.Title); foreach (var x in request.data.Attributes.Target) //overhere { konteks.Add(new notif_logs_model { notification_id = Notif.id, type = request.data.Attributes.Type, from = request.data.Attributes.From, target = x.Id, email_destination = x.Email_destination }); sendmail("*****@*****.**", x.Email_destination, request.data.Attributes.Title, request.data.Attributes.Message); } konteks.SaveChanges(); return(new Dto { message = "notification posted", success = true }); }