Пример #1
0
        public async Task <IActionResult> UpsertTestAnalysis([FromRoute] Guid testId, [FromBody] ReplaceTestAnalysisDto testAnalysisDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var testExists = await _context.LimpingTests.AnyAsync(test => test.Id == testId);

            if (!testExists)
            {
                return(NotFound());
            }

            // Convert it to db model
            var testAnalysis = new TestAnalysis
            {
                Description     = testAnalysisDto.Description,
                EndValue        = testAnalysisDto.EndValue.GetValueOrDefault(),
                LimpingSeverity = testAnalysisDto.LimpingSeverity.GetValueOrDefault(),
                LimpingTestId   = testId,
            };

            // Replace it
            await _testAnalysesService.ReplaceTestAnalysis(testId, testAnalysis);

            // Convert it to HAL
            var response = new GetTestAnalysisResponse(testAnalysis, LinkGenerator.Analysis.Edit(testAnalysis.Id.ToString(), "self"));

            return(Ok(response));
        }
Пример #2
0
        public async Task <IActionResult> EditTestAnalysis([FromRoute] Guid testAnalysisId,
                                                           [FromBody] ReplaceTestAnalysisDto testAnalysisDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var testExists = await _context.TestAnalyses.AnyAsync(analysis => analysis.Id == testAnalysisId);

            if (!testExists)
            {
                return(NotFound());
            }

            var testAnalysis = await _context.TestAnalyses.AsNoTracking().SingleAsync(x => x.Id == testAnalysisId);

            testAnalysis.Description     = testAnalysisDto.Description;
            testAnalysis.EndValue        = testAnalysisDto.EndValue.GetValueOrDefault();
            testAnalysis.LimpingSeverity = testAnalysisDto.LimpingSeverity.GetValueOrDefault();
            await _testAnalysesService.EditTestAnalysis(testAnalysis);

            var response = new GetTestAnalysisResponse(testAnalysis, LinkGenerator.Analysis.Replace(testAnalysis.Id.ToString(), "self"));

            return(Ok(response));
        }
Пример #3
0
        public async Task <IActionResult> GetById([FromRoute] Guid analysisId)
        {
            var exists = await _context.TestAnalyses.AnyAsync(x => x.Id == analysisId);

            if (!exists)
            {
                return(NotFound());
            }

            var found = await _context.TestAnalyses.FindAsync(analysisId);

            // Create HAL Reponse
            var response = new GetTestAnalysisResponse(found);

            return(Ok(response));
        }