public IActionResult Put([FromRoute] string enrollmentNumber, [FromBody] Form obj)
        {
            PersonalData personalData = _personalDataService.List().SingleOrDefault(x => x.Enrollment.ExternalId == enrollmentNumber);

            if (personalData == null)
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.EnrollmentLinkIsNotValid
                                                        } }));
            }

            if (!personalData.Enrollment.IsDeadlineValid())
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.OnboardingExpired
                                                        } }));
            }

            if (!personalData.Editable)
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.EnrollmentInReview
                                                        } }));
            }

            PersonalData personalDataMapped = _mapper.Map <PersonalData>(obj);

            personalData = _personalDataService.Update(personalData, personalDataMapped);

            PersonalDataValidator validator = new PersonalDataValidator(_context);
            Hashtable             errors    = FormatErrors(validator.Validate(personalData));

            return(new OkObjectResult(new
            {
                errors,
                data = _mapper.Map <Record>(personalData)
            }));
        }
        public IActionResult Post([FromRoute] string enrollmentNumber)
        {
            PersonalData personalData = _personalDataService.List().SingleOrDefault(x => x.Enrollment.ExternalId == enrollmentNumber);

            if (personalData == null)
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.EnrollmentLinkIsNotValid
                                                        } }));
            }

            if (!personalData.Enrollment.IsDeadlineValid())
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.OnboardingExpired
                                                        } }));
            }

            if (!personalData.Editable)
            {
                return(new BadRequestObjectResult(new { messages = new List <string> {
                                                            onboarding.Resources.Messages.EnrollmentInReview
                                                        } }));
            }

            PersonalDataValidator validator          = new PersonalDataValidator(_context);
            Hashtable             errors             = FormatErrors(validator.Validate(personalData));
            PersonalDataStatus    personalDataStatus = new PersonalDataStatus(validator, personalData);

            if (personalDataStatus.GetStatus() == "valid")
            {
                _enrollmentStepService.Update(enrollmentNumber, "PersonalDatas");
            }

            return(Ok());
        }
Esempio n. 3
0
 public PersonalDataStatus(PersonalDataValidator validator, PersonalData entity) : base(validator, entity)
 {
 }