Beispiel #1
0
        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());
        }
Beispiel #2
0
        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));
            }
        }