예제 #1
0
        private void RegisterDonatorUserBloodNotifications(ICollection <BloodNotification> bloodNotifications,
                                                           NotifyDonatorUserEvent notifyDonatorUserEvent)
        {
            foreach (var bloodNotification in bloodNotifications)
            {
                var usersToBloodNotification = _donatorUserRepository.GetToBloodNotification(bloodNotification.BloodId, bloodNotification.AmountBlood);
                foreach (var userToNotification in usersToBloodNotification)
                {
                    var donatorUserBloodNotification = new DonatorUserBloodNotification(Guid.NewGuid(),
                                                                                        userToNotification.DonatorUserId,
                                                                                        bloodNotification.Id);

                    var donatorUserNotificationEvent = new DonatorUserNotificationEvent(userToNotification.Name,
                                                                                        userToNotification.Email,
                                                                                        NotificationsTypeConfiguration.TYPE_BLOOD,
                                                                                        userToNotification.Type);

                    notifyDonatorUserEvent.AddDonatorUserNotificationEvent(donatorUserNotificationEvent);

                    UpdateLastBloodNotificationDonatorUser(userToNotification.DonatorUserId);

                    _donatorUserBloodNotificationRepository.Add(donatorUserBloodNotification);
                }
            }
        }
예제 #2
0
        private void RegisterDonatorUserHairNotifications(ICollection <HairNotification> hairNotifications,
                                                          NotifyDonatorUserEvent notifyDonatorUserEvent)
        {
            foreach (var hairNotification in hairNotifications)
            {
                var usersToHairNotification = _donatorUserRepository.GetToHairNotification(hairNotification.HairId, hairNotification.AmountHair);

                foreach (var userToNotification in usersToHairNotification)
                {
                    var donatorUserHairNotification = new DonatorUserHairNotification(Guid.NewGuid(),
                                                                                      userToNotification.DonatorUserId,
                                                                                      hairNotification.Id);

                    var donatorUserNotificationEvent = new DonatorUserNotificationEvent(userToNotification.Name,
                                                                                        userToNotification.Email,
                                                                                        NotificationsTypeConfiguration.TYPE_HAIR,
                                                                                        $"{userToNotification.Color} - {userToNotification.Type}");

                    notifyDonatorUserEvent.AddDonatorUserNotificationEvent(donatorUserNotificationEvent);

                    UpdateLastHairNotificationDonatorUser(userToNotification.DonatorUserId);

                    _donatorUserHairNotificationRepository.Add(donatorUserHairNotification);
                }
            }
        }
예제 #3
0
        private void NotifyBloodDonatorUser(DonatorUserNotificationEvent donatorUserNotification, NotifyDonatorUserEvent notification, int index)
        {
            if (index == 0)
            {
                new WhatsappService().SendWhatsappDonator(notification.Hospital, donatorUserNotification.Name, "sangue", "");
            }

            new EmailService().SendEmail("*****@*****.**",
                                         donatorUserNotification.Email,
                                         $"Solicitação de sangue",
                                         EmailTemplate.EmailDonatorNotification("sangue", notification.Hospital));
        }