private async void OnAddDialogSubmit(object sender, EditCategoryBottomSheet.EditCategoryEventArgs args) { var dialog = (EditCategoryBottomSheet)sender; var category = new Category(args.Name); if (_categorySource.Exists(category)) { dialog.NameError = GetString(Resource.String.duplicateCategory); return; } try { await _categorySource.Add(category); } catch (Exception e) { Logger.Error(e); ShowSnackbar(Resource.String.genericError, Snackbar.LengthShort); return; } finally { RunOnUiThread(dialog.Dismiss); } RunOnUiThread(delegate { _categoryListAdapter.NotifyDataSetChanged(); CheckEmptyState(); }); }
private async void OnRenameDialogSubmit(object sender, EditCategoryBottomSheet.EditCategoryEventArgs e) { var dialog = (EditCategoryBottomSheet)sender; if (e.Name == e.InitialName) { dialog.Dismiss(); return; } var category = new Category(e.Name); if (_categorySource.IsDuplicate(category)) { dialog.NameError = GetString(Resource.String.duplicateCategory); return; } await _categorySource.Rename(e.ItemPosition.Value, e.Name); RunOnUiThread(delegate { dialog.Dismiss(); _categoryListAdapter.NotifyItemChanged(e.ItemPosition.Value); }); }
private async void OnAddDialogSubmit(object sender, EditCategoryBottomSheet.EditCategoryEventArgs args) { var dialog = (EditCategoryBottomSheet)sender; var category = new Category(args.Name); try { await _categoryRepository.CreateAsync(category); } catch (EntityDuplicateException) { dialog.NameError = GetString(Resource.String.duplicateCategory); return; } catch (Exception e) { Logger.Error(e); ShowSnackbar(Resource.String.genericError, Snackbar.LengthShort); RunOnUiThread(dialog.Dismiss); return; } await _categoryView.LoadFromPersistence(); RunOnUiThread(delegate { _categoryListAdapter.NotifyDataSetChanged(); CheckEmptyState(); dialog.Dismiss(); }); }
private async void OnRenameDialogSubmit(object sender, EditCategoryBottomSheet.EditCategoryEventArgs e) { var dialog = (EditCategoryBottomSheet)sender; if (e.Name == e.InitialName || e.ItemPosition == null) { dialog.Dismiss(); return; } var category = new Category(e.Name); if (_categorySource.IsDuplicate(category)) { dialog.NameError = GetString(Resource.String.duplicateCategory); return; } try { await _categorySource.Rename(e.ItemPosition.Value, e.Name); } catch { ShowSnackbar(Resource.String.genericError, Snackbar.LengthShort); return; } finally { RunOnUiThread(dialog.Dismiss); } RunOnUiThread(delegate { _categoryListAdapter.NotifyItemChanged(e.ItemPosition.Value); }); }
private async void OnRenameDialogSubmit(object sender, EditCategoryBottomSheet.EditCategoryEventArgs args) { var dialog = (EditCategoryBottomSheet)sender; if (args.Name == args.InitialName || args.Position == -1) { dialog.Dismiss(); return; } var initial = _categoryView.ElementAt(args.Position); var isDefault = _preferences.DefaultCategory == initial.Id; var next = new Category(args.Name) { Ranking = initial.Ranking }; try { await _categoryService.TransferAsync(initial, next); } catch (EntityDuplicateException) { dialog.NameError = GetString(Resource.String.duplicateCategory); return; } catch (Exception e) { Logger.Error(e); RunOnUiThread(dialog.Dismiss); ShowSnackbar(Resource.String.genericError, Snackbar.LengthShort); return; } if (isDefault) { SetDefaultCategory(next.Id); } await _categoryView.LoadFromPersistence(); RunOnUiThread(delegate { _categoryListAdapter.NotifyItemChanged(args.Position); dialog.Dismiss(); }); }
private async void OnAddDialogSubmit(object sender, EditCategoryBottomSheet.EditCategoryEventArgs e) { var category = new Category(e.Name); if (_categorySource.IsDuplicate(category)) { _addDialog.NameError = GetString(Resource.String.duplicateCategory); return; } _addDialog.Dismiss(); await _connection.InsertAsync(category); await _categorySource.Update(); _categoryListAdapter.NotifyDataSetChanged(); CheckEmptyState(); }
private async void OnRenameDialogSubmit(object sender, EditCategoryBottomSheet.EditCategoryEventArgs args) { var dialog = (EditCategoryBottomSheet)sender; if (args.Name == args.InitialName || args.Position == -1) { dialog.Dismiss(); return; } var currentId = _categorySource.Get(args.Position).Id; var isDefault = _preferences.DefaultCategory == currentId; var category = new Category(args.Name); if (_categorySource.Exists(category)) { dialog.NameError = GetString(Resource.String.duplicateCategory); return; } try { await _categorySource.Rename(args.Position, args.Name); } catch (Exception e) { Logger.Error(e); ShowSnackbar(Resource.String.genericError, Snackbar.LengthShort); return; } finally { RunOnUiThread(dialog.Dismiss); } if (isDefault) { SetDefaultCategory(category.Id); } RunOnUiThread(delegate { _categoryListAdapter.NotifyItemChanged(args.Position); }); }