Ejemplo n.º 1
0
        private async void OnDelete(CustomerFormViewModel viewModel)
        {
            if (viewModel == null)
            {
                return;
            }

            if (await DialogController.Instance.ShowWarningMessageAsync(
                    $"Do you wish to delete item '{viewModel.Id}'?") == MessageDialogResult.Affirmative)
            {
                var repo = _repositoryFactory.Create <Customer>();

                repo.Delete(viewModel.Id);

                Refresh();
            }
        }
Ejemplo n.º 2
0
        private void SetNavigationRestriction(CustomerFormViewModel viewModel)
        {
            EventHandler <object> navigating = null;

            navigating = async(sender, e) =>
            {
                var isWaiting = false;

                if (viewModel.IsDirty && (viewModel.Id != 0 || viewModel.IsInitialized))
                {
                    isWaiting = await DialogController.Instance.ShowWarningMessageAsync(
                        "The form has not been saved. Do you wish to continue?") == MessageDialogResult.Negative;

                    _navigator.SetNavigatingResponse(isWaiting);
                }

                _navigator.SetIsWaitingOnNavigatingResponse(isWaiting);
            };

            EventHandler <object> navigated = null;

            navigated = (sender, e) =>
            {
                if (e.ToString().Equals(typeof(CustomerFormViewModel).FullName))
                {
                    _navigator.SetIsWaitingOnNavigatingResponse(true);
                }
                else
                {
                    _navigator.Navigating -= navigating;
                    _navigator.Navitgated -= navigated;
                }
            };

            _navigator.Navigating += navigating;
            _navigator.Navitgated += navigated;
        }