public async void OnCategoryItemClick(object sender, ItemClickEventArgs e) { if (!(e.ClickedItem is CategoryListViewItemViewModel selectedCategory)) { return; } var editOperationDialog = new CategoryDialog(new CategoryDialogViewModel(selectedCategory.Model)) { PrimaryButtonText = _localizationService.GetTranslateByKey(Localization.Save), CloseButtonText = _localizationService.GetTranslateByKey(Localization.Cancel) }; await editOperationDialog.ShowAsync(); switch (editOperationDialog.Result) { case DialogResult.Save: await _model.UpdateCategory(selectedCategory.Model, GetCancellationToken()); await UpdateCategories(); break; case DialogResult.Delete: await _model.DeleteCategory(selectedCategory.Model, GetCancellationToken()); await UpdateCategories(); break; } }