public static Certification DTOToCertification(CertificationDTO certificationDTO) => new Certification { ResumeId = certificationDTO.ResumeId, Order = certificationDTO.Order, Name = certificationDTO.Name, Source = certificationDTO.Source, Resume = null };
public async Task <ActionResult <CertificationDTO> > PostCertification(CertificationDTO certificationDTO) { Certification sanitizedCertification = DTOToCertification(certificationDTO); if (!await ResumeAccessAuthorized(sanitizedCertification.ResumeId)) { return(GenerateResumeNotFoundError(sanitizedCertification.ResumeId)); } if (CertificationExists(sanitizedCertification.ResumeId, certificationDTO.Order)) { return(BadRequest("associated subsection already exists")); } _context.Certifications.Add(sanitizedCertification); await _context.SaveChangesAsync(); return(CreatedAtAction("PostCertification", new { resumeId = sanitizedCertification.ResumeId, order = sanitizedCertification.Order }, certificationDTO)); }
public async Task <IActionResult> PatchCertification(long resumeId, long order, CertificationDTO certificationDTO) { Certification sanitizedCertification = DTOToCertification(certificationDTO); if (resumeId != sanitizedCertification.ResumeId) { return(BadRequest("resumeId in query params does not match resumeId in body")); } if (order != sanitizedCertification.Order) { return(BadRequest("subsection order in query params does not match subsection order in body")); } if (!await ResumeAccessAuthorized(sanitizedCertification.ResumeId)) { return(GenerateResumeNotFoundError(sanitizedCertification.ResumeId)); } if (!CertificationExists(resumeId, order)) { return(BadRequest("Associated subsection does not exist")); } _context.Entry(sanitizedCertification).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } return(AcceptedAtAction("PatchCertification", new { resumeId = sanitizedCertification.ResumeId, order = sanitizedCertification.Order }, certificationDTO)); }