使用选定的 ID 检查项目 ID

本文关键字:ID 检查 项目 | 更新日期: 2023-09-27 18:32:09

这是我的控制器,我正在尝试用项目填充下拉列表。我已经根据活动项目进行填充,但我也想添加以前选择的项目,即使它现在处于非活动状态。我想签入 Where 子句以获取活动项目,但我还想添加一个"or"以获取之前在列表中的参与方类型 ID 中选择的参与方类型的 ID。

viewModel.AvailablePartyTypes =
            _partyTypeRepository.FindAll().OrderBy(o => o.Description).Where(a => a.IsActive).ToSelectList(
                "PartyTypeId", "Description", viewModel.PartyTypeId.ToString());

这就是我想要得到的:

Where(a=>a.IsActive || selected.PartyTypeId == PartyTypeId)

使用选定的 ID 检查项目 ID

也许我忽略了一些东西,但它不是那么简单吗:

Where(a=>a.IsActive || selected.PartyTypeId == a.PartyTypeId)

编辑:

如果它变得复杂,请重构为方法调用,例如:

Where(a=> UseItem(a))
private static bool UseItem(object a)
    {
        bool result = a.IsActive;
        //etc
        return result;
    }

不太确定为什么我的答案被删除了。尽管其他人提供了帮助,但我得到答案和形成的方式并不是真正由帮助的人产生的。我已经把它贴在我的原始帖子中了这个问题。