private void DeleteStandingOrder()
        {
            var standingOrderEntityViewModel = StandingOrders.Value;

            _application.Repository.DeleteStandingOrder(standingOrderEntityViewModel.EntityId);
            _allStandingOrders.Remove(standingOrderEntityViewModel);
            StandingOrders.RemoveSelectedValue();
        }
        private void UpdateStandingOrdersWithFiltering()
        {
            var oldSelected = StandingOrders.Value;

            var available = _allStandingOrders.Where(IsMatchingFilterCriteria);

            StandingOrders.SetRange(available);

            if (oldSelected == null || StandingOrders.SelectableValues.Any(s => s.EntityId == oldSelected.EntityId))
            {
                StandingOrders.Value = oldSelected;
            }
            else
            {
                StandingOrders.Value = null;
            }
        }
        private void OnSaveRequestDetails(StandingOrderEntityData entityData)
        {
            if (string.IsNullOrEmpty(Details.EntityId))
            {
                var entityId = _application.Repository.CreateStandingOrder(entityData);
                Details.EntityId = entityId;

                var requestEntityViewModel = new StandingOrderEntityViewModel(_application, entityId);
                StandingOrders.AddValue(requestEntityViewModel);
                StandingOrders.Value = requestEntityViewModel;
                _allStandingOrders.Add(requestEntityViewModel);
            }
            else
            {
                _application.Repository.UpdateStandingOrder(Details.EntityId, entityData);
            }

            Details.IsInEditMode = false;
            _application.Repository.UpdateStandingOrdersToCurrentMonth(_application.ApplicationContext.Now.Year, _application.ApplicationContext.Now.Month);
            StandingOrders.Value.Refresh();
            UpdateCommandStates();
            _onStandingOrderUpdated();
        }