示例#1
0
        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
            });
        }
示例#2
0
        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
            });
        }