public LoadTranscriptionForEditResponse LoadTranscriptionForEdit(LoadTranscriptionForEditRequest request)
		{
			var step = this.PersistenceContext.Load<ReportingProcedureStep>(request.ReportingStepRef, EntityLoadFlags.CheckVersion);
			var reportAssembler = new ReportAssembler();
			var orderAssembler = new OrderAssembler();

			var orderDetailOptions = new OrderAssembler.CreateOrderDetailOptions {IncludeExtendedProperties = true};
			return new LoadTranscriptionForEditResponse(
				reportAssembler.CreateReportDetail(step.ReportPart.Report, false, this.PersistenceContext),
				step.ReportPart.Index,
				orderAssembler.CreateOrderDetail(step.Procedure.Order, orderDetailOptions, this.PersistenceContext));
		}
        public LoadReportForEditResponse LoadReportForEdit(LoadReportForEditRequest request)
        {
            var step = this.PersistenceContext.Load <ReportingProcedureStep>(request.ReportingStepRef, EntityLoadFlags.CheckVersion);

            var reportAssembler = new ReportAssembler();
            var reportDetail    = reportAssembler.CreateReportDetail(step.ReportPart.Report, false, this.PersistenceContext);

            var orderAssembler     = new OrderAssembler();
            var orderDetailOptions = new OrderAssembler.CreateOrderDetailOptions {
                IncludeExtendedProperties = true
            };
            var orderDetail = orderAssembler.CreateOrderDetail(step.Procedure.Order, orderDetailOptions, this.PersistenceContext);

            return(new LoadReportForEditResponse(
                       reportDetail,
                       step.ReportPart.Index,
                       orderDetail,
                       EnumUtils.GetEnumValueList <OrderPriorityEnum>(PersistenceContext)));
        }
		private GetOrderDetailResponse GetOrderDetail(GetOrderDetailRequest request)
		{
			var order = this.PersistenceContext.GetBroker<IOrderBroker>().Load(request.OrderRef);

			var createOrderDetailOptions = new OrderAssembler.CreateOrderDetailOptions
			{
				IncludeVisit = request.IncludeVisit && (new WorkflowConfigurationReader()).EnableVisitWorkflow,
				IncludeProcedures = request.IncludeProcedures,
				IncludeNotes = request.IncludeNotes,
				IncludeVirtualNotes = request.IncludeNotes,	// include virtual notes, if including notes at all
				NoteCategoriesFilter = request.NoteCategoriesFilter,
				IncludeAttachments = request.IncludeAttachments,
				IncludeResultRecipients = request.IncludeResultRecipients,
				IncludeExtendedProperties = request.IncludeExtendedProperties
			};

			var response = new GetOrderDetailResponse();
			var orderAssembler = new OrderAssembler();
			response.Order = orderAssembler.CreateOrderDetail(order, createOrderDetailOptions, this.PersistenceContext);

			if (request.IncludeAlerts)
			{
				var alertAssembler = new AlertAssembler();
				response.OrderAlerts =
					CollectionUtils.Map<AlertNotification, AlertNotificationDetail>(
						AlertHelper.Instance.Test(order, this.PersistenceContext),
						alertAssembler.CreateAlertNotification);
			}

			return response;
		}