예제 #1
0
        public async Task UpdateDrugResistanceProfiles()
        {
            var drugResistanceProfiles = await _drugResistanceProfileRepository.GetDrugResistanceProfilesAsync();

            foreach (var(notificationId, drugResistanceProfile) in drugResistanceProfiles)
            {
                var notification = await _notificationRepository.GetNotificationAsync(notificationId);

                if (notification == null)
                {
                    throw new DataException(
                              $"Reporting database sourced NotificationId {notificationId} was not found in NTBS database.");
                }

                if (notification.DrugResistanceProfile.Species == drugResistanceProfile.Species &&
                    notification.DrugResistanceProfile.DrugResistanceProfileString == drugResistanceProfile.DrugResistanceProfileString)
                {
                    continue;
                }

                await _notificationService.UpdateDrugResistanceProfileAsync(notification, drugResistanceProfile);

                await _enhancedSurveillanceAlertsService.CreateOrDismissMdrAlert(notification);

                await _enhancedSurveillanceAlertsService.CreateOrDismissMBovisAlert(notification);
            }
        }
예제 #2
0
        protected override async Task ValidateAndSave()
        {
            if (ActionName == ActionNameString.Create)
            {
                MBovisDetails.ExposureToKnownCasesStatus = Status.Yes;
            }
            // Set the collection so it can be included in the validation
            MBovisDetails.MBovisExposureToKnownCases = Notification.MBovisDetails.MBovisExposureToKnownCases;
            MBovisDetails.ProceedingToAdd            = ActionName == ActionNameString.Create;
            MBovisDetails.SetValidationContext(Notification);

            if (TryValidateModel(MBovisDetails, nameof(MBovisDetails)))
            {
                await Service.UpdateMBovisDetailsExposureToKnownCasesAsync(Notification, MBovisDetails);

                await _enhancedSurveillanceAlertsService.CreateOrDismissMBovisAlert(Notification);
            }
        }