public IActionResult UpdateQualityAssurance(long id, [FromBody] JsonPatchDocument <QualityAssuranceData> patch)
        {
            QualityAssurance     qa  = _context.QualityAssurances.Find(id);
            QualityAssuranceData qad = new QualityAssuranceData {
                QualityAssurance = qa
            };

            patch.ApplyTo(qad, ModelState);
            if (ModelState.IsValid && TryValidateModel(qad))
            {
                if (qa.PerformedBy != null && qa.VerifiedBy.UserId != 0)
                {
                    _context.Attach(qa.PerformedBy);
                }
                if (qa.VerifiedBy != null && qa.VerifiedBy.UserId != 0)
                {
                    _context.Attach(qa.VerifiedBy);
                }
                _context.SaveChanges();
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
 public IActionResult AddQualityAssurance([FromBody] QualityAssuranceData qualityAssurance)
 {
     if (ModelState.IsValid)
     {
         QualityAssurance qa = qualityAssurance.QualityAssurance;
         _context.QualityAssurances.Add(qa);
         _context.SaveChanges();
         return(Ok());
     }
     else
     {
         return(BadRequest());
     }
 }
 public IActionResult EditQualityAssurance(long id, [FromBody] QualityAssuranceData qualityAssurance)
 {
     if (ModelState.IsValid)
     {
         QualityAssurance qa = qualityAssurance.QualityAssurance;
         qa.QualityAssuranceId = id;
         if (qa.PerformedBy != null && qa.PerformedBy.UserId != 0)
         {
             _context.Attach(qa.PerformedBy);
         }
         if (qa.VerifiedBy != null && qa.VerifiedBy.UserId != 0)
         {
             _context.Attach(qa.VerifiedBy);
         }
         _context.QualityAssurances.Update(qa);
         _context.SaveChanges();
         return(Ok());
     }
     else
     {
         return(BadRequest());
     }
 }