public dynamic Post(string enrollmentNumber) { Enrollment enrollment = _context.Enrollments.Include("Onboarding").Single(x => x.ExternalId == enrollmentNumber); if (enrollment == null) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.EnrollmentLinkIsNotValid } })); } if (!enrollment.IsDeadlineValid()) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.OnboardingExpired } })); } enrollment.SentAt = DateTime.Now; _enrollmentService.Update(enrollment); _enrollmentStepService.Update(enrollmentNumber, "EnrollmentSummaries"); return(Ok()); }
public async Task <IHttpActionResult> Edit(EnrollmentRequestDTO enrollmentDTO, int id)//se devuelve un modelo { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (enrollmentDTO.EnrollmentID != id) { return(BadRequest()); } var flag = await enrollmentService.GetById(id); if (flag == null) { return(NotFound()); } try { var enrollment = _mapper.Map <Enrollment>(enrollmentDTO); enrollment = await enrollmentService.Update(enrollment); return(Ok(enrollment)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public async Task <IHttpActionResult> Put(EnrollmentDTO enrollmentDTO, int id) // object - cuerpo pero si es prmitivo por la url { if (!ModelState.IsValid) { return(BadRequest(ModelState)); // status code 400 } if (enrollmentDTO.EnrollmentID != id) { return(BadRequest()); } var flag = await enrollmentService.GetById(id); if (flag == null) { return(NotFound()); // status code 404 } try { var enrollment = mapper.Map <Enrollment>(enrollmentDTO); enrollment = await enrollmentService.Update(enrollment); return(Ok(enrollment)); //Sastus code 200 //return Ok(courseDTO); //Sastus code 200 } catch (Exception ex) { return(InternalServerError(ex)); //Status code 500 } }
public dynamic Post(string enrollmentNumber) { Enrollment enrollment = _enrollmentService.List().Single(x => x.ExternalId == enrollmentNumber); if (enrollment == null) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.EnrollmentLinkIsNotValid } })); } if (!enrollment.IsDeadlineValid()) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.OnboardingExpired } })); } if (enrollment.SentAt.HasValue) { return(new BadRequestObjectResult(new { messages = new List <string> { onboarding.Resources.Messages.EnrollmentInReview } })); } string personalDataStatus = (new PersonalDataStatus(new PersonalDataValidator(_context), enrollment.PersonalData)).GetStatus(); string financeDataStatus = (new FinanceDataStatus(new FinanceDataValidator(_context), enrollment.FinanceData, new FinanceDataMessagesValidator(_context))).GetStatus(); EnrollmentValidator enrollmentValidator = new EnrollmentValidator(_context); FluentValidation.Results.ValidationResult enrollmentValidatorResult = enrollmentValidator.Validate(enrollment); List <string> messages = enrollmentValidatorResult.Errors.Select(x => x.ErrorMessage).Distinct().ToList(); if (personalDataStatus == "valid" && financeDataStatus == "valid" && enrollmentValidatorResult.IsValid) { string body = GetEmailBody("enrollment_sent.html"); string subject = "Sua matricula foi enviada para análise"; string messageBody = GetEmailBody("enrollment_sent.html") .Replace("{student_name}", enrollment.PersonalData.AssumedName) .Replace("{send_at}", enrollment.SentAt.Value.ToString("dd/MM/yyyy")) .Replace("{send_at_hour}", enrollment.SentAt.Value.ToString("HH:mm")); BackgroundJob.Enqueue(() => (new EmailHelper()).SendEmail(messageBody, subject, _configuration["EMAIL_SENDER"], enrollment.PersonalData.Email, _configuration["SMTP_USERNAME"], _configuration["SMTP_PASSWORD"])); enrollment.SentAt = DateTime.Now; _enrollmentService.Update(enrollment); return(Ok()); } else { if (personalDataStatus != "valid") { messages.Add("Os dados pessoais estão inválidos"); } if (financeDataStatus != "valid") { messages.Add("Os dados financeiros estão inválidos"); } return(new BadRequestObjectResult(new { messages })); } }