0
我有一個叫做Employee
的模型,它帶有一個名爲OnDuty的布爾字段。我們的業務規則只允許一名員工執勤。.Net MVC驗證只有一個checkox檢查
在index
頁面上,我已設置複選框,以便它們觸發更新呼叫以將員工更新爲「隨時待命」。但是,我並未使用以下我的控制器操作將其他員工設置爲off duty
。我該如何去確保沒有其他員工值班?
[HttpPost]
public JsonResult Update(Employee employee)
{
IEnumerable<Employee> onCallEmployee = _db.Employees.Where(e => e.OnCall == true);
foreach (Employee e in onCallEmployee) {
e.OnCall = false;
_db.Entry(e).State = EntityState.Modified;
_db.SaveChanges();
}
_db.Entry(employee).State = EntityState.Modified;
_db.SaveChanges();
return Json("Employee updated!");
}
這裏的問題究竟是什麼。您的代碼是否未設置其他employees.oncall爲false?活頁夾是否將發佈的employee.oncall綁定爲true?你有什麼問題。附:你可能想調用SaveChanges()只在底部而不是在foreach循環和底部。 –
正確,我無法挽救所有員工。我能夠使用下面發佈的答案中的代碼更新來解決問題。感謝您的建議! – dspencer