コード例 #1
0
        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
        /// <summary>
        /// Called by the host to initialize the application component.
        /// </summary>
        public override void Start()
        {
            Platform.GetService <IProcedureTypeAdminService>(
                service =>
            {
                var formDataResponse = service.LoadProcedureTypeEditorFormData(new LoadProcedureTypeEditorFormDataRequest());
                _modalityChoices     = formDataResponse.ModalityChoices;

                if (_isNew)
                {
                    _procedureTypeDetail = new ProcedureTypeDetail();
                }
                else
                {
                    var response         = service.LoadProcedureTypeForEdit(new LoadProcedureTypeForEditRequest(_procedureTypeRef));
                    _procedureTypeDetail = response.ProcedureType;
                }
            });

            base.Start();
        }
コード例 #3
0
        /// <summary>
        /// Called to handle the "toggle activation" action, if supported
        /// </summary>
        /// <param name="items">A list of items to edit.</param>
        /// <param name="editedItems">The list of items that were edited.</param>
        /// <returns>True if items were edited, false otherwise.</returns>
        protected override bool UpdateItemsActivation(IList <ProcedureTypeSummary> items, out IList <ProcedureTypeSummary> editedItems)
        {
            List <ProcedureTypeSummary> results = new List <ProcedureTypeSummary>();

            foreach (ProcedureTypeSummary item in items)
            {
                Platform.GetService <IProcedureTypeAdminService>(
                    delegate(IProcedureTypeAdminService service)
                {
                    ProcedureTypeDetail detail = service.LoadProcedureTypeForEdit(
                        new LoadProcedureTypeForEditRequest(item.ProcedureTypeRef)).ProcedureType;
                    detail.Deactivated           = !detail.Deactivated;
                    ProcedureTypeSummary summary = service.UpdateProcedureType(
                        new UpdateProcedureTypeRequest(detail)).ProcedureType;

                    results.Add(summary);
                });
            }

            editedItems = results;
            return(true);
        }
コード例 #4
0
 public AddProcedureTypeRequest(ProcedureTypeDetail detail)
 {
     this.ProcedureType = detail;
 }
コード例 #5
0
 public LoadProcedureTypeForEditResponse(ProcedureTypeDetail detail)
 {
     this.ProcedureType = detail;
 }
コード例 #6
0
		public LoadProcedureTypeForEditResponse(ProcedureTypeDetail detail)
		{
			this.ProcedureType = detail;
		}
コード例 #7
0
 public UpdateProcedureTypeRequest(ProcedureTypeDetail detail)
 {
     this.ProcedureType = detail;
 }
コード例 #8
0
		public UpdateProcedureTypeRequest(ProcedureTypeDetail detail)
		{
			this.ProcedureType = detail;
		}
コード例 #9
0
		public AddProcedureTypeRequest(ProcedureTypeDetail detail)
		{
			this.ProcedureType = detail;
		}