/// <summary> /// /// </summary> public override void EndInit() { m_IsEditing = false; FireOrderChanged(new OrderChangedEventArgs(SerialNo)); m_IsFireAfterSetSynchFlag = false; _editState = OrderEditState.Unchanged; }
/// <summary> /// 删除自己 /// </summary> public void Delete() { // 如果医嘱已经存在数据库中了并且是新医嘱,则标记为已删除 // 如果已经被删除了或未加到医嘱列表中则不处理 // 如果是新增的,则应该由医嘱列表来删除,这里处理不了 if (((EditState == OrderEditState.Modified) || (EditState == OrderEditState.Unchanged)) && (State == OrderState.New)) { _editState = OrderEditState.Deleted; } }
/// <summary> /// 提交自上次调用 AcceptChanges 以来对该医嘱进行的所有更改 /// </summary> /// <remarks>在调用 AcceptChanges 时,EndEdit 方法被隐式调用,以便终止任何编辑。如果行的 EditState 是“已添加”或“已修改”,则 EditState 变成“未更改”。如果 EditState 是“删除”,则该行将被移除</remarks> /// TODO: 删除还未实现 public void AcceptChanges() { EndInit(); if ((EditState != OrderEditState.Detached) && (EditState != OrderEditState.Deleted)) { _editState = OrderEditState.Unchanged; } else { } }
/// <summary> /// 医嘱列表改变事件 /// </summary> /// <param name="e"></param> protected void FireOrderChanged(OrderChangedEventArgs e) { if (m_IsEditing) { return; } // 修改属性值 if (EditState == OrderEditState.Unchanged) { _editState = OrderEditState.Modified; if (!m_IsFireAfterSetSynchFlag) { _hadSync = false; } } if (onOrderChanged != null) { onOrderChanged(this, e); } }
/// <summary> /// 被加入到医嘱对象集合中,更新医嘱状态 /// </summary> public void Added() { _editState = OrderEditState.Added; InnerState = OrderState.New; }