コード例 #1
0
ファイル: ProcedureTypeAssembler.cs プロジェクト: nhannd/Xian
		public void UpdateProcedureType(ProcedureType procType, ProcedureTypeDetail detail, IPersistenceContext context)
		{
			procType.Id = detail.Id;
			procType.Name = detail.Name;
			procType.BaseType = detail.CustomProcedurePlan && detail.BaseType != null
									? context.Load<ProcedureType>(detail.BaseType.ProcedureTypeRef, EntityLoadFlags.Proxy)
									: null;
			procType.DefaultDuration = detail.DefaultDuration;
			procType.Deactivated = detail.Deactivated;

			try
			{
				if(detail.CustomProcedurePlan)
				{
					procType.Plan = new ProcedurePlan(detail.PlanXml);
				}
				else
				{
					var modality = context.Load<Modality>(detail.DefaultModality.ModalityRef);
					procType.Plan = ProcedurePlan.CreateDefaultPlan(detail.Name, modality);
				}
			}
			catch (XmlException e)
			{
				throw new RequestValidationException(string.Format("Procedure plan XML is invalid: {0}", e.Message));
			}
		}
コード例 #2
0
ファイル: Procedure.cs プロジェクト: m-berkani/ClearCanvas
		public Procedure(ProcedureType type, string procedureNumber, string studyInstanceUid)
		{
			_type = type;
			_number = procedureNumber;
			_procedureSteps = new HashedSet<ProcedureStep>();
			_procedureCheckIn = new ProcedureCheckIn();
			_reports = new HashedSet<Report>();
			_protocols = new HashedSet<Protocol>();
			_scheduledDuration = type.DefaultDuration;
			_studyInstanceUID = studyInstanceUid;
		}
コード例 #3
0
 public Procedure(ProcedureType type, string procedureNumber, string studyInstanceUid)
 {
     _type              = type;
     _number            = procedureNumber;
     _procedureSteps    = new HashedSet <ProcedureStep>();
     _procedureCheckIn  = new ProcedureCheckIn();
     _reports           = new HashedSet <Report>();
     _protocols         = new HashedSet <Protocol>();
     _scheduledDuration = type.DefaultDuration;
     _studyInstanceUID  = studyInstanceUid;
 }
コード例 #4
0
ファイル: ProcedureBuilder.cs プロジェクト: hksonngan/Xian
        private static void BuildProcedureFromPlan(Procedure procedure, ProcedureType type)
        {
            // if the type specifies a base type, apply it first
            if (type.BaseType != null)
            {
                BuildProcedureFromPlan(procedure, type.BaseType);
            }
            else
            {
                // otherwise use the root plan as the base plan
                BuildProcedureFromPlan(procedure, ProcedurePlan.GetRootPlan());
            }

            BuildProcedureFromPlan(procedure, type.Plan);
        }
コード例 #5
0
ファイル: ProcedureTypeAssembler.cs プロジェクト: nhannd/Xian
		public ProcedureTypeDetail CreateDetail(ProcedureType procedureType, IPersistenceContext context)
		{
			if(procedureType.Plan.IsDefault)
			{
				var modalityAssembler = new ModalityAssembler();
				return new ProcedureTypeDetail(
					procedureType.GetRef(),
					procedureType.Id,
					procedureType.Name,
					procedureType.Plan.DefaultModality == null ? null : modalityAssembler.CreateModalitySummary(procedureType.Plan.DefaultModality),
					procedureType.DefaultDuration,
					procedureType.Deactivated);
			}

			return new ProcedureTypeDetail(
				procedureType.GetRef(),
				procedureType.Id,
				procedureType.Name,
				procedureType.BaseType == null ? null : CreateSummary(procedureType.BaseType),
				procedureType.Plan.ToString(),
				procedureType.DefaultDuration,
				procedureType.Deactivated);
		}
コード例 #6
0
		public AddProcedureTypeResponse AddProcedureType(AddProcedureTypeRequest request)
		{
			Platform.CheckForNullReference(request, "request");
			Platform.CheckMemberIsSet(request.ProcedureType, "request.ProcedureType");

			var item = new ProcedureType();

			var assembler = new ProcedureTypeAssembler();
			assembler.UpdateProcedureType(item, request.ProcedureType, PersistenceContext);

			PersistenceContext.Lock(item, DirtyState.New);
			PersistenceContext.SynchState();

			return new AddProcedureTypeResponse(assembler.CreateSummary(item));
		}
コード例 #7
0
ファイル: ProcedureTypeAssembler.cs プロジェクト: nhannd/Xian
		public ProcedureTypeSummary CreateSummary(ProcedureType rpt)
		{
			return new ProcedureTypeSummary(rpt.GetRef(), rpt.Name, rpt.Id, rpt.DefaultDuration, rpt.Deactivated);
		}