コード例 #1
0
ファイル: ProblemDtoFactory.cs プロジェクト: girish66/REM
        /// <summary>
        /// Creates the keyed dto.
        /// </summary>
        /// <param name="key">The key to create.</param>
        /// <returns>A <see cref="Rem.Ria.PatientModule.Web.Common.ProblemDto"/></returns>
        public ProblemDto CreateKeyedDto(long key)
        {
            var problem = _problemRepository.GetByKey(key);
            var dto     = Mapper.Map <Problem, ProblemDto> (problem);

            return(dto);
        }
コード例 #2
0
        /// <summary>
        /// Handles the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>A <see cref="Agatha.Common.Response"/></returns>
        public override Response Handle(DetachProblemFromVisitRequest request)
        {
            var problemDto = request.ProblemDto;
            var visitKey   = request.VisitKey;

            IList <ProblemDto> results = new List <ProblemDto> ();

            var visit = _visitRepository.GetByKey(visitKey);

            if (visit != null)
            {
                var problem = _problemRepository.GetByKey(problemDto.Key);
                if (problem != null)
                {
                    visit.DisassociateProblem(problem);
                }

                var visitDto = Mapper.Map <Visit, VisitDto> (visit);
                results = visitDto.Problems;
            }

            var response = CreateTypedResponse();

            response.ProblemDtos = results;

            return(response);
        }
コード例 #3
0
        /// <summary>
        /// Handles the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>A <see cref="Agatha.Common.Response"/></returns>
        public override Response Handle(DeleteProblemRequest request)
        {
            var problemKey  = request.ProblemKey;
            var problemDtos = new List <ProblemDto> ();

            var problem = _problemRepository.GetByKey(problemKey);

            if (problem != null)
            {
                _problemFactory.DestroyProblem(problem);

                problemDtos.AddRange(
                    problem.ClinicalCase.Problems.Where(x => x.Key != problemKey).Select(
                        p => Mapper.Map <Problem, ProblemDto> (p)).ToList());
            }

            var response = CreateTypedResponse();

            response.ProblemDtos = problemDtos;

            return(response);
        }
コード例 #4
0
        /// <summary>
        /// Handles the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>A <see cref="Agatha.Common.Response"/></returns>
        public override Response Handle(AssociateProblemsWithVisitRequest request)
        {
            var problemDtos = request.ProblemDtos;
            var visitKey    = request.VisitKey;

            IList <ProblemDto> results = new List <ProblemDto> ();

            var visit = _visitRepository.GetByKey(visitKey);

            if (visit != null)
            {
                var problemList = new List <Problem> ();
                foreach (var problemDto in problemDtos)
                {
                    var problem = _problemRepository.GetByKey(problemDto.Key);
                    if (problem != null)
                    {
                        problemList.Add(problem);
                    }
                }

                if (problemDtos.Count > 0)
                {
                    visit.AssociateProblems(problemList);
                }

                var visitDto = Mapper.Map <Visit, VisitDto> (visit);
                results = visitDto.Problems;
            }

            var response = CreateTypedResponse();

            response.ProblemDtos = results;

            return(response);
        }