示例#1
0
文件: Order.cs 项目: xuanximoming/key
        /// <summary>
        /// 取消医嘱
        /// </summary>
        /// <param name="cancellerCode"></param>
        /// <param name="executeTime"></param>
        /// <returns></returns>
        public bool CancelOrder(string cancellerCode, DateTime executeTime)
        {
            if (ReadOnly)
            {
                throw new InvalidOperationException(MessageStringManager.GetString("ObjectIsReadOnly"));
            }

            InnerCancelInfo = new OrderOperateInfo(cancellerCode, executeTime);

            // FireOrderChanged(new OrderChangedEventArgs(SerialNo));
            return(true);
        }
示例#2
0
        /// <summary>
        /// 确定两个对象是否具有相同的值
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            OrderOperateInfo aimObj = (OrderOperateInfo)obj;

            if (aimObj != null)
            {
                return(HadInitialized && aimObj.HadInitialized &&
                       (aimObj.Executor.Code == Executor.Code) &&
                       (aimObj.ExecuteTime == ExecuteTime));
            }
            return(false);
        }
示例#3
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);
        }
示例#4
0
文件: Order.cs 项目: xuanximoming/key
        /// <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);
        }
示例#5
0
文件: Order.cs 项目: xuanximoming/key
        /// <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);
        }
示例#6
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);
        }