public void UpdateHandler(GridCommandEventArgs args) { BatchEditModel item = (BatchEditModel)args.Item; BatchEditModel localItem = GetItemFromCollection(LocalData, item); if (!item.IsDirty) { BatchEditModel pristineItm = GetItemFromCollection(PristineItems, item); if (pristineItm == null) { //add only the first time a field is edited, later it is no longer pristine PristineItems.Add(localItem); } } item.IsChanged = true; ChangeLocalItem(item); }
public async Task RevertItem(BatchEditModel itmToUndelete) { if (itmToUndelete.IsNew) { LocalData.Remove(itmToUndelete); } if (itmToUndelete.IsDeleted) { itmToUndelete.IsDeleted = false; ChangeLocalItem(itmToUndelete); } if (itmToUndelete.IsChanged) { BatchEditModel pristineItem = GetItemFromCollection(PristineItems, itmToUndelete); if (pristineItem != null) { itmToUndelete = pristineItem; ChangeLocalItem(itmToUndelete); PristineItems.Remove(pristineItem); } } }