想象一下,我有四名员工和12个任务,如a,b,c,d,e,f,g,h,i,j,k,l。
第一名员工1,2,3,4应该有a,b,c,d,在完成所有员工之后,应该从第一名员工(e,f,g,h)等开始
在某些情况下,如果任务在employee2完成,当新任务到达时,分配应该从employee3等开始
在下面的代码中,我将为最后分配的员工提供变量,并从数据库中获取员工数量和任务计数,将任务分配给员工,检查任务的唯一性并保存到数据库。
我试过的代码:
int j = 0, LastAssignedEmployee =0;
var Employees = dbcontext.Employees.Select(m => m.ID).toList();
var Tasks = dbcontext.Tasks.toList();
for (int i = 0; i < Tasks.Count(); i++)
{
if (i == Employees.Count()-1)
{
j = 0;
}
if (i == Tasks.Count()-1)
{
LastAssignedEmployee = Employees[j];
}
Tasks Task = dbcontext.Tasks.Find(Tasks.ID);
Task.EmpID = Employees[j];
dbcontext.SaveChanges();
}
但我希望这更加标准化和自动化,循环算法是否适用于此问题或此方法的任何算法。
任何人都可以帮我这个欢呼。