Пример #1
0
        public void DeleteHandler(GridCommandEventArgs args)
        {
            BatchEditModel item = (BatchEditModel)args.Item;

            DeleteItem(item);

            //show notification for undelete
        }
Пример #2
0
        public void CreateHandler(GridCommandEventArgs args)
        {
            BatchEditModel item = (BatchEditModel)args.Item;

            item.Id    = LocalData.Count + 1;
            item.IsNew = true;
            LocalData.Insert(0, item);
        }
Пример #3
0
        private void ChangeLocalItem(BatchEditModel item)
        {
            var index = LocalData.ToList().FindIndex(i => i.Id == item.Id);

            if (index != -1)
            {
                LocalData[index] = item;
            }
        }
Пример #4
0
        public async Task UndeleteItem(BatchEditModel itmToUndelete)
        {
            BatchEditModel itm = GetItemFromCollection(LocalData, itmToUndelete);

            if (itm != null)
            {
                itm.IsDeleted = false;
            }
        }
Пример #5
0
        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
        }
Пример #6
0
        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);
        }
Пример #7
0
        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;
                }
            }
        }
Пример #8
0
 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);
         }
     }
 }
Пример #9
0
        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);
        }