Ejemplo n.º 1
0
        /// <summary>
        /// 审核医嘱停止信息
        /// </summary>
        /// <param name="auditorCode"></param>
        /// <param name="auditTime"></param>
        /// <returns></returns>
        public bool AuditCeaseOrder(string auditorCode, DateTime auditTime)
        {
            if (ReadOnly)
            {
                throw new InvalidOperationException(MessageStringManager.GetString("ObjectIsReadOnly"));
            }

            // 只需要更新相应字段,不需要改变医嘱状态
            if (_ceaseAuditInfo == null)
            {
                _ceaseAuditInfo = new OrderOperateInfo(auditorCode, auditTime);
            }
            else
            {
                _ceaseAuditInfo.SetPropertyValue(auditorCode, auditTime);
            }

            EditState = OrderEditState.Modified;

            FireOrderChanged(new OrderChangedEventArgs(SerialNo));
            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 执行医嘱
        /// </summary>
        /// <param name="executorCode"></param>
        /// <param name="executeTime"></param>
        /// <returns></returns>
        public bool ExecuteOrder(string executorCode, DateTime executeTime)
        {
            if (ReadOnly)
            {
                throw new InvalidOperationException(MessageStringManager.GetString("ObjectIsReadOnly"));
            }

            if (_executeInfo == null)
            {
                _executeInfo = new OrderOperateInfo(executorCode, executeTime);
            }
            else
            {
                _executeInfo.SetPropertyValue(executorCode, executeTime);
            }

            InnerState = OrderState.Executed;

            EditState = OrderEditState.Modified;

            FireOrderChanged(new OrderChangedEventArgs(SerialNo));
            return(true);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 审核医嘱
        /// </summary>
        /// <param name="auditorCode"></param>
        /// <param name="auditTime"></param>
        /// <returns></returns>
        public bool AuditOrder(string auditorCode, DateTime auditTime)
        {
            if (ReadOnly)
            {
                throw new InvalidOperationException(MessageStringManager.GetString("ObjectIsReadOnly"));
            }
            // 审核前可以添加一些校验:是否需要审核、操作员权限是否够等???
            if (_auditInfo == null)
            {
                _auditInfo = new OrderOperateInfo(auditorCode, auditTime);
            }
            else
            {
                _auditInfo.SetPropertyValue(auditorCode, auditTime);
            }

            InnerState = OrderState.Audited;

            EditState = OrderEditState.Modified;

            FireOrderChanged(new OrderChangedEventArgs(SerialNo));
            return(true);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 停止医嘱(设置停止时间和停止者)
        /// </summary>
        /// <param name="employeeCode"></param>
        /// <param name="ceaseTime"></param>
        /// <param name="ceaseReason">停止原因</param>
        /// <returns></returns>
        public bool CeaseOrder(string employeeCode, DateTime ceaseTime, OrderCeaseReason ceaseReason)
        {
            if (ReadOnly)
            {
                throw new InvalidOperationException(MessageStringManager.GetString("ObjectIsReadOnly"));
            }

            if (_ceaseInfo == null)
            {
                _ceaseInfo = new OrderOperateInfo(employeeCode, ceaseTime);
            }
            else
            {
                _ceaseInfo.SetPropertyValue(employeeCode, ceaseTime);
            }

            _ceaseReason = ceaseReason;

            EditState = OrderEditState.Modified;

            FireOrderChanged(new OrderChangedEventArgs(SerialNo));
            return(true);
        }