public void CommitUpdate() { if (IsUpdating) { State = DataTransactionState.Commit; Reset(false); } }
public void CancelUpdate() { if (IsUpdating) { State = DataTransactionState.Cancel; Restore(oldRow); Reset(); } }
public void BeginUpdate(params object[] ids) { if (!IsUpdating) { Reset(); Backup(Row, ref oldRow); State = DataTransactionState.Begin; } }
public void BeginUpdate(params object[] ids) { if (IsUpdating) { return; } Reset(); BuildRowTransactions(ref this.rowTransactionMap); this.rowTransactionMap.ForEach(pair => pair.Value.BeginUpdate(ids)); State = DataTransactionState.Begin; }
public void AddError(DataCellErrorType errorType, string columnName) { string result = null; switch (errorType) { case DataCellErrorType.FieldRequired: result = string.Format(InformationMessage.Error_Field_Required, columnName); break; case DataCellErrorType.FieldNotCurrency: result = string.Format(InformationMessage.Error_Field_Not_Currency, columnName); break; case DataCellErrorType.FieldMustBeDecimal: result = string.Format(InformationMessage.Error_Field_Must_Be_Decimal, columnName); break; } Messages.Add(result); State = DataTransactionState.Ignored; }
public void CancelUpdate() { if (IsUpdating) { State = DataTransactionState.Cancel; foreach (var taRow in rowTransactionMap.Values) { IEntityRowAttributes rowAttributes = taRow.Row.GetAttributesEntity(); EntityTable registedTable; switch (rowAttributes.Status) { case OPStatus.Add: if (TryGetRegistTable(taRow.Row, out registedTable)) { registedTable.Rows.Remove(taRow.Row); taRow.Row.OnPropertyChanged(""); //通知ForeignSetField刪除 } break; case OPStatus.Update: taRow.CancelUpdate(); break; case OPStatus.Delete: if (TryGetRegistTable(taRow.Row, out registedTable)) { taRow.CancelUpdate(); registedTable.Rows.Add(taRow.Row); } break; default: break; } } Reset(); } }