Example #1
0
    private void OnSelectionChanged()
    {
        Money sumOfWhiteList =
            NonPrivatePockets
            .Where(pocket => pocket.Labels.All(pocketLabel => LabelsWhiteList.Any(labelViewModel => pocketLabel == labelViewModel.Value)))
            .Sum(x => x.Amount);

        _includePrivatePocket = NonPrivatePockets.Sum(x => x.Amount) < _targetAmount || (LabelsWhiteList.IsEmpty() && _privatePocket.Amount >= _targetAmount);
        var totalSelected = sumOfWhiteList + (_includePrivatePocket ? _privatePocket.Amount : Money.Zero);

        EnoughSelected = totalSelected >= _targetAmount;

        this.RaisePropertyChanged(nameof(LabelsWhiteList));
        this.RaisePropertyChanged(nameof(LabelsBlackList));
    }