public ActionResult AdminAllowedCodes(String CompanyURL, AdminAllowedCodesViewModel Model) { PopulateModel(Model); if (!ModelState.IsValid) { return(View(Model)); } var ids = Request["SelectedTasks"] == null ? new List <String>() : Request["SelectedTasks"].Split(',').ToList(); var TaskAlloweds = Context.TaskAlloweds.Where(t => t.EmployeeId == Model.EmployeeId).ToList(); foreach (var TaskAllowed in TaskAlloweds) { if (ids.Any(i => i == TaskAllowed.TaskId.ToString())) { if (TaskAllowed.IsActive != true) { TaskAllowed.IsActive = true; Context.Entry(TaskAllowed).State = System.Data.Entity.EntityState.Modified; } //In both - set active - update } else { if (TaskAllowed.IsActive != false) { TaskAllowed.IsActive = false; Context.Entry(TaskAllowed).State = System.Data.Entity.EntityState.Modified; } //in db, not in list, set inactice - update } } ; foreach (var id in ids) { if (!TaskAlloweds.Any(t => t.TaskId.ToString() == id)) { var TaskAllowed = new Data.TaskAllowed(); TaskAllowed.EmployeeId = Model.EmployeeId; TaskAllowed.TaskId = int.Parse(id); TaskAllowed.IsActive = true; Context.Entry(TaskAllowed).State = System.Data.Entity.EntityState.Added; } } ; Context.SaveChanges(); return(RedirectPermanent("/" + CompanyURL + "/adminallowedcodes")); }
public ActionResult AdminAllowedCodes(String CompanyURL, int?SelectedEmployeeId) { var Model = new AdminAllowedCodesViewModel(); PopulateModel(Model); if (!ModelState.IsValid) { return(View(Model)); } if (SelectedEmployeeId != null) { Model.EmployeeId = (int)SelectedEmployeeId; } Model.Employees = new List <SelectListItem>(); foreach (var Employee in Context.Employees.Where(e => e.IsActive && e.CompanyId == Model.CompanyId).OrderBy(e => e.LastName)) { if (Model.EmployeeId == 0) { Model.EmployeeId = Employee.EmployeeId; } SelectListItem selectList = new SelectListItem() { Text = Employee.LastName + ", " + Employee.FirstName, Value = Employee.EmployeeId.ToString() }; Model.Employees.Add(selectList); } Model.Tasks = new List <SelectListItem>(); var TaskAlloweds = Context.TaskAlloweds.Where(t => t.EmployeeId == Model.EmployeeId && t.IsActive == true).ToList(); foreach (var Task in Context.Tasks.Where(t => t.IsActive == 1 && t.CompanyId == Model.CompanyId).OrderBy(e => e.TaskName)) { var IsSelected = TaskAlloweds.Any(ta => ta.TaskId == Task.TaskId); SelectListItem selectList = new SelectListItem() { Text = Task.TaskName, Value = Task.TaskId.ToString(), Selected = IsSelected }; Model.Tasks.Add(selectList); } return(View(Model)); }