private static MBovisAnimalExposure AsMBovisAnimalExposure(MigrationDbMBovisAnimal rawData)
        {
            var animalExposure = new MBovisAnimalExposure();

            animalExposure.YearOfExposure   = rawData.YearOfExposure;
            animalExposure.AnimalType       = Converter.GetEnumValue <AnimalType>(rawData.AnimalType);
            animalExposure.Animal           = rawData.Animal;
            animalExposure.AnimalTbStatus   = Converter.GetEnumValue <AnimalTbStatus>(rawData.AnimalTbStatus);
            animalExposure.ExposureDuration = rawData.ExposureDuration;
            animalExposure.CountryId        = rawData.CountryId;
            animalExposure.OtherDetails     = rawData.OtherDetails;
            return(animalExposure);
        }
        protected override async Task ValidateAndSave()
        {
            MBovisAnimalExposure.SetValidationContext(Notification);
            MBovisAnimalExposure.NotificationId = NotificationId;
            MBovisAnimalExposure.DobYear        = Notification.PatientDetails.Dob?.Year;

            if (TryValidateModel(MBovisAnimalExposure, nameof(MBovisAnimalExposure)))
            {
                if (RowId == null)
                {
                    await _mBovisAnimalExposureRepository.AddAsync(MBovisAnimalExposure);
                }
                else
                {
                    MBovisAnimalExposure.MBovisAnimalExposureId = RowId.Value;
                    await _mBovisAnimalExposureRepository.UpdateAsync(Notification, MBovisAnimalExposure);
                }
            }
        }