private void Add(object o)
        {
            var id      = GridViewModel.OriginalItemsSource.Max(model => model.Id) + 1;
            var newItem = new CollectionItemModel {
                Id = id, Name = "Added item"
            };

            GridViewModel.ItemsSource.Add(newItem);
            GridViewModel.SelectedItem = newItem;
        }
 private bool Filter(CollectionItemModel item)
 {
     if (string.IsNullOrEmpty(FilterText))
     {
         return(true);
     }
     return(item != null &&
            (item.Name.SafeContains(FilterText) ||
             item.Id.ToString(CultureInfo.InvariantCulture).SafeContains(FilterText)));
 }
 private async Task Remove(CollectionItemModel item)
 {
     if (item == null)
     {
         item = GridViewModel.SelectedItem;
     }
     if (await _messagePresenter.ShowAsync($"Delete {item.Name} {item.Id}?", "Delete", MessageButton.YesNo) == MessageResult.Yes)
     {
         GridViewModel.ItemsSource.Remove(item);
         GridViewModel.SelectedItem = null;
     }
 }
        public async Task AttachItemToCollection(int itemId, int collectionId)
        {
            var allCollectionItems = await collectionItemCrudService.GetAllAsync();

            if (allCollectionItems.Any(ci => ci.CollectionId == collectionId && ci.ItemId == itemId))
            {
                return;
            }
            var collectionItem = new CollectionItemModel
            {
                CollectionId = collectionId,
                ItemId       = itemId
            };
            await collectionItemCrudService.CreateAsync(collectionItem);
        }
 private bool CanRemove(CollectionItemModel item)
 {
     return(item != null || GridViewModel != null && GridViewModel.SelectedItem != null);
 }