/// <summary>
        ///     Handles the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="response">The response.</param>
        protected override void Handle(GetDtoByKeyRequest <AssessmentSectionSummaryDto> request, DtoResponse <AssessmentSectionSummaryDto> response)
        {
            var assessmentInstance   = _assessmentInstanceRepository.GetByKey(request.Key);
            var assessmentDefinition = _assessmentDefinitionRepository.GetByKey(assessmentInstance.AssessmentDefinitionKey);

            var assessmentSectionSummaryDto = new AssessmentSectionSummaryDto()
            {
                Key        = assessmentInstance.Key,
                PatientKey = assessmentInstance.PatientKey,
                AssessmentDefinitionKey  = assessmentDefinition.Key,
                AssessmentDefinitionCode = assessmentDefinition.CodedConcept.Code,
                AssessmentName           = assessmentDefinition.CodedConcept.Name,
                IsSubmitted     = assessmentInstance.IsSubmitted,
                IsComplete      = Math.Abs(assessmentInstance.CalculateCompleteness().PercentComplete - 1.0d) <= double.Epsilon,
                Score           = assessmentInstance.Score == null ? null : Mapper.Map <Score, ScoreDto> (assessmentInstance.Score),
                Sections        = new List <SectionSummaryDto> (),
                PercentComplete = assessmentInstance.CalculateCompleteness().PercentComplete * 100,
            };

            MapItems(assessmentSectionSummaryDto, assessmentDefinition, assessmentInstance);

            response.DataTransferObject = assessmentSectionSummaryDto;
            var messages = new List <IMessage> (_messageCollector.Messages);

            if (assessmentInstance.WorkflowKey.HasValue)
            {
                var message = _workflowMessageRepository.GetByKey(assessmentInstance.WorkflowKey.Value);
                if (message.Status == WorkflowMessageStatus.WaitingForResponse)
                {
                    messages.Add(message);
                }
            }
            response.DataTransferObject.Messages =
                Mapper.Map <IEnumerable <IMessage>, IEnumerable <IMessageDto> > (messages);
        }
        /// <summary>
        ///     Handles the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="response">The response.</param>
        protected override void Handle(GetDtoByKeyRequest <OrganizationDto> request, DtoResponse <OrganizationDto> response)
        {
            var organizationKey = UserContext.OrganizationKey;

            if (UserContext.IsSystemAdmin)
            {
                organizationKey = request.Key;
            }
            var organization = _organizationRepository.GetByKey(organizationKey);

            response.DataTransferObject = Mapper.Map <Organization, OrganizationDto> (organization);
        }
        /// <summary>
        ///     Handles the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="response">The response.</param>
        protected override void Handle(GetDtoByKeyRequest <OrganizationSummaryDto> request, DtoResponse <OrganizationSummaryDto> response)
        {
            var organization = _organizationRepository.GetByKey(request.Key);

            response.DataTransferObject = Mapper.Map <Organization, OrganizationSummaryDto>(organization);
        }
Exemple #4
0
        protected override void Handle(GetDtoByKeyRequest <TeamDto, long> request, DtoResponse <TeamDto> response)
        {
            var team = _teamRepository.GetByKey(request.Key);

            response.DataTransferObject = Mapper.Map <Team, TeamDto> (team);
        }