C#从列表中过滤员工ID以修改查询

时间:2011-10-07 08:21:25

标签: c# linq

在这里学习C#。我有一个月度流程表,人们可以选择处理所有员工的工资,或选择员工处理使用单选按钮(SAP B1表格使用screenpainter)。

可以打开表单来选择员工,并将员工ID发送到此月度流程表单并存储在列表中。

//Method to retrieve string values from child form
public void GetFilteredIds(List<string> idValues)
{
    List<string> employeeIDs = new List<string>();

    employeeIDs = idValues;
}

我想在选择所有 \ temp ID

的月度流程表单上过滤此查询
//Query database
var salaryFitments = salaryFitmentService.GetAllSalaryFitments();

var employeeIdList = (from sf in salaryFitments select sf.U_Employee_ID).Distinct();

这样我有类似的东西:

var k = from id in employeeIdList
           where employeeIDs.Contains(id)
           select id;

我如何编写我的代码,以便在处理之前(点击一个处理按钮),我有一个if语句来检查它是否为所有选定的月度流程或仅选择了几个

if (_selectedEmployees.Selected == true)
{
   ...code to write
}
else
{
   ...code to write
}

_selectedEmployees引用private SAPbouiCOM.OptionBtn _selectedEmployees;

在处理之前

if (employeeIdList.Any())
            {  ............

我希望我的问题很清楚

1 个答案:

答案 0 :(得分:0)

不是100%肯定你在追求什么,但这会有所帮助:

// Code to see if the 'all employees' radiobutton is selected.

var k = from id in employeeIdList
        where AllSelected || employeeIDs.Contains(id)
        select id;

您不必再复制查询。