public async Task <ActionResult <RequirementDTO> > GetByLaboratory(Guid id) { var requirement = await _context.Requirements .Include(c => c.Files) .Where(c => c.LaboratoryWorkId == id) .FirstOrDefaultAsync(); if (requirement == null) { var newRequirement = new CreateRequirementDTO { Id = Guid.NewGuid(), Description = "", LaboratoryWorkId = id }; await PostRequirement(newRequirement); await _context.SaveChangesAsync(); requirement = await _context.Requirements .Include(c => c.Files) .Where(c => c.LaboratoryWorkId == id) .FirstOrDefaultAsync(); } return(requirement.ToRequirementDTO()); }
public async Task <ActionResult <RequirementDTO> > PostRequirement(CreateRequirementDTO requirement) { Requirement newRequirement = new Requirement(requirement.Description, requirement.LaboratoryWorkId); try { await _context.Requirements.AddAsync(newRequirement); await _context.SaveChangesAsync(); return(Ok(newRequirement.ToRequirementDTO())); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500)); } }