Ejemplo n.º 1
0
        public async Task <ResultDto <Guid, PatientCreateStatus> > Create(ProblemCreateRequest request, string externalId)
        {
            try
            {
                var model = _mapper.Map <ProblemCreateRequest, Problems>(request);

                try
                {
                    model.RecordedDate = DateTime.UtcNow;
                    model.ExternalId   = externalId;
                    var result = await _repository.Create(model);

                    return(result);
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(new ResultDto <Guid, PatientCreateStatus>(PatientCreateStatus.InternalServerError));
                }
                catch (Exception ex)
                {
                    return(new ResultDto <Guid, PatientCreateStatus>(PatientCreateStatus.InternalServerError));
                }
            }
            catch (Exception ex)
            {
                return(new ResultDto <Guid, PatientCreateStatus>(PatientCreateStatus.InternalServerError));
            }
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <ProblemResponse> > CreateProblem([FromBody] ProblemCreateRequest problemToCreate)
        {
            // verify author exists
            var author = await _context.Accounts.FindAsync(problemToCreate.AuthorId);

            if (author == null)
            {
                return(NotFound());
            }

            // verify CourseIds exist
            var courses = await _context.Courses.Where(c => problemToCreate.CourseIds.Contains(c.Id)).ToListAsync();

            if (courses == null)
            {
                return(NotFound());
            }

            // map request to entity
            var problem = _mapper.Map <Problem> (problemToCreate);

            problem.Author         = author;
            problem.CourseProblems = courses.Select(course =>
                                                    new CourseProblem()
            {
                Course = course, Problem = problem
            }
                                                    ).ToList();

            // save problem
            _context.Problems.Add(problem);
            await _context.SaveChangesAsync();

            // map entity to response
            var problemResponse = _mapper.Map <ProblemResponse> (problem);

            return(CreatedAtAction(nameof(GetProblem), new { problemId = problemResponse.Id }, problemResponse));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> CreatePatientProblemDetail(string patientId, [FromBody] ProblemCreateRequest problem)
        {
            var diagnosis = new Diagnosis
            {
                Author      = problem.Author,
                Code        = problem.Code,
                DateCreated = DateTime.UtcNow,
                DateOfOnset = problem.DateOfOnset,
                Description = problem.Description,
                Problem     = problem.Problem,
                PatientId   = patientId,
                Source      = "source-new",
                SourceId    = $"{Guid.NewGuid()}",
                Terminology = problem.Terminology
            };

            await this.Diagnoses.AddOrUpdate(diagnosis);

            return(this.Ok());
        }