public void DeleteHandler(GridCommandEventArgs args) { BatchEditModel item = (BatchEditModel)args.Item; DeleteItem(item); //show notification for undelete }
public void CreateHandler(GridCommandEventArgs args) { BatchEditModel item = (BatchEditModel)args.Item; item.Id = LocalData.Count + 1; item.IsNew = true; LocalData.Insert(0, item); }
private void ChangeLocalItem(BatchEditModel item) { var index = LocalData.ToList().FindIndex(i => i.Id == item.Id); if (index != -1) { LocalData[index] = item; } }
public async Task UndeleteItem(BatchEditModel itmToUndelete) { BatchEditModel itm = GetItemFromCollection(LocalData, itmToUndelete); if (itm != null) { itm.IsDeleted = false; } }
public void EditHandler(GridCommandEventArgs args) { BatchEditModel item = (BatchEditModel)args.Item; //prevent opening for edit for deleted items if (item.IsDeleted) { args.IsCancelled = true; } //show notification }
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 DeleteItem(BatchEditModel itmToDelete) { BatchEditModel localItem = GetItemFromCollection(LocalData, itmToDelete); if (localItem != null) { if (localItem.IsDeleted) { return; } else if (localItem.IsNew) { LocalData.Remove(localItem); } else { localItem.IsDeleted = true; } } }
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); } } }
private BatchEditModel GetItemFromCollection(IList <BatchEditModel> collection, BatchEditModel itmToFind) { var index = collection.ToList().FindIndex(i => i.Id == itmToFind.Id); if (index != -1) { return(collection[index]); } return(null); }