Exemple #1
0
        /// <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;
            }
        }
Exemple #2
0
 /// <summary>
 /// 設定資料列狀態
 /// </summary>
 /// <param name="rowState"></param>
 public void SetRowState(EEntityRowState rowState)
 {
     CheckNewRowState(rowState);
     this.RowState = rowState;
 }