コード例 #1
0
 public static Certification DTOToCertification(CertificationDTO certificationDTO) =>
 new Certification
 {
     ResumeId = certificationDTO.ResumeId,
     Order    = certificationDTO.Order,
     Name     = certificationDTO.Name,
     Source   = certificationDTO.Source,
     Resume   = null
 };
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }