/// <summary>
		/// Constructor
		/// </summary>
		public UnmergeOrderComponentControl(UnmergeOrderComponent component)
			: base(component)
		{
			InitializeComponent();
			_component = component;

			_cancelReason.DataSource = _component.ReasonChoices;
			_cancelReason.DataBindings.Add("Value", _component, "SelectedReason", true, DataSourceUpdateMode.OnPropertyChanged);
			_okButton.DataBindings.Add("Enabled", _component, "AcceptEnabled", false, DataSourceUpdateMode.OnPropertyChanged);
		}
示例#2
0
        /// <summary>
        /// Constructor
        /// </summary>
        public UnmergeOrderComponentControl(UnmergeOrderComponent component)
            : base(component)
        {
            InitializeComponent();
            _component = component;

            _cancelReason.DataSource = _component.ReasonChoices;
            _cancelReason.DataBindings.Add("Value", _component, "SelectedReason", true, DataSourceUpdateMode.OnPropertyChanged);
            _okButton.DataBindings.Add("Enabled", _component, "AcceptEnabled", false, DataSourceUpdateMode.OnPropertyChanged);
        }
        protected bool ExecuteCore(WorklistItemSummaryBase item)
        {
            EnumValueInfo reason;
            var           reasonCode = OrderMergeSettings.Default.UnmergeDefaultReasonCode;

            if (string.IsNullOrEmpty(reasonCode))
            {
                var unmergeComponent = new UnmergeOrderComponent();
                var exitCode         = ApplicationComponent.LaunchAsDialog(
                    this.Context.DesktopWindow,
                    unmergeComponent,
                    string.Format("Undo merge order {0}", AccessionFormat.Format(item.AccessionNumber)));

                if (exitCode != ApplicationComponentExitCode.Accepted)
                {
                    return(false);
                }

                reason = unmergeComponent.SelectedReason;
            }
            else
            {
                // confirm
                var message = string.Format("Un-merge all orders merged into {0}?", item.AccessionNumber);
                if (DialogBoxAction.No == this.Context.DesktopWindow.ShowMessageBox(message, MessageBoxActions.YesNo))
                {
                    return(false);
                }
                reason = new EnumValueInfo(reasonCode, null, null);
            }

            Platform.GetService(
                delegate(IOrderEntryService service)
            {
                var request = new UnmergeOrderRequest(item.OrderRef)
                {
                    UnmergeReason = reason
                };
                service.UnmergeOrder(request);
            });

            InvalidateFolders();
            return(true);
        }
		public void SetComponent(IApplicationComponent component)
		{
			_component = (UnmergeOrderComponent)component;
		}
 public void SetComponent(IApplicationComponent component)
 {
     _component = (UnmergeOrderComponent)component;
 }