/// <summary> /// 確認資料狀態變更邏輯 /// </summary> /// <param name="newRowState"></param> private void CheckNewRowState(EEntityRowState newRowState) { switch (this.RowState) { case EEntityRowState.Added: if (newRowState != EEntityRowState.Unchanged) { throw new GException("Wrong RowState"); } break; case EEntityRowState.Deleted: throw new GException("Wrong RowState"); case EEntityRowState.Modified: if (newRowState != EEntityRowState.Unchanged) { throw new GException("Wrong RowState"); } break; case EEntityRowState.Unchanged: default: if (newRowState != EEntityRowState.Modified || newRowState != EEntityRowState.Unchanged) { throw new GException("Wrong RowState"); } break; } }
/// <summary> /// 設定資料列狀態 /// </summary> /// <param name="rowState"></param> public void SetRowState(EEntityRowState rowState) { CheckNewRowState(rowState); this.RowState = rowState; }