private static MBovisOccupationExposure AsMBovisOccupationExposure(MigrationDbMBovisOccupation rawData)
        {
            var occupationExposure = new MBovisOccupationExposure();

            occupationExposure.YearOfExposure     = rawData.YearOfExposure;
            occupationExposure.OccupationSetting  = Converter.GetEnumValue <OccupationSetting>(rawData.OccupationSetting);
            occupationExposure.OccupationDuration = rawData.OccupationDuration;
            occupationExposure.CountryId          = rawData.CountryId;
            occupationExposure.OtherDetails       = rawData.OtherDetails;
            return(occupationExposure);
        }
        protected override async Task ValidateAndSave()
        {
            MBovisOccupationExposure.SetValidationContext(Notification);
            MBovisOccupationExposure.NotificationId = NotificationId;
            MBovisOccupationExposure.DobYear        = Notification.PatientDetails.Dob?.Year;

            if (TryValidateModel(MBovisOccupationExposure, nameof(MBovisOccupationExposure)))
            {
                if (RowId == null)
                {
                    await _mBovisOccupationExposureRepository.AddAsync(MBovisOccupationExposure);
                }
                else
                {
                    MBovisOccupationExposure.MBovisOccupationExposureId = RowId.Value;
                    await _mBovisOccupationExposureRepository.UpdateAsync(Notification, MBovisOccupationExposure);
                }
            }
        }