/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }