Beispiel #1
0
        public bool CanModifyOrder(WorklistItemKey itemKey)
        {
            if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Modify))
            {
                return(false);
            }

            // the worklist item may represent a patient without an order,
            // in which case there is no order to modify
            if (itemKey.OrderRef == null)
            {
                return(false);
            }

            return(true);
        }
Beispiel #2
0
        public bool CanUnmergeOrder(WorklistItemKey itemKey)
        {
            if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Unmerge))
            {
                return(false);
            }

            if (itemKey.OrderRef == null)
            {
                return(false);
            }

            var order = this.PersistenceContext.Load <Order>(itemKey.OrderRef);

            return(order.Status == OrderStatus.SC && order.MergeSourceOrders.Count > 0);
        }
Beispiel #3
0
        public bool CanCancelOrder(WorklistItemKey itemKey)
        {
            if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Cancel))
            {
                return(false);
            }

            // the worklist item may represent a patient without an order,
            // in which case there is no order to cancel
            if (itemKey.OrderRef == null)
            {
                return(false);
            }

            var order = this.PersistenceContext.GetBroker <IOrderBroker>().Load(itemKey.OrderRef);

            // cancel or discontinue
            var operation = new CancelOrDiscontinueOrderOperation();

            return(operation.CanExecute(order));
        }
		public bool CanCancelOrder(WorklistItemKey itemKey)
		{
			if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Cancel))
				return false;

			// the worklist item may represent a patient without an order,
			// in which case there is no order to cancel
			if (itemKey.OrderRef == null)
				return false;

			var order = this.PersistenceContext.GetBroker<IOrderBroker>().Load(itemKey.OrderRef);

			// cancel or discontinue
			var operation = new CancelOrDiscontinueOrderOperation();
			return operation.CanExecute(order);
		}
		public bool CanModifyOrder(WorklistItemKey itemKey)
		{
			if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Modify))
				return false;

			// the worklist item may represent a patient without an order,
			// in which case there is no order to modify
			if (itemKey.OrderRef == null)
				return false;

			return true;
		}
		public bool CanUnmergeOrder(WorklistItemKey itemKey)
		{
			if (!Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Workflow.Order.Unmerge))
				return false;

			if (itemKey.OrderRef == null)
				return false;

			var order = this.PersistenceContext.Load<Order>(itemKey.OrderRef);
			return order.Status == OrderStatus.SC && order.MergeSourceOrders.Count > 0;
		}