Ejemplo n.º 1
0
        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();
            });
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 7
0
        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); });
        }