private void AssignTemplate(TaskList task, int templateID, string assignmentList) { var staffList = request.Staffs; string assign = assignmentList; assign = assign.Replace(" ", ""); string[] assignments = assign.Split(','); Dictionary <string, bool> staffAssignments = new Dictionary <string, bool>(); foreach (var staff in staffList) { if (assignments.Contains(staff.staffID.ToString())) { staffAssignments.Add(staff.staffID.ToString(), true); } else { staffAssignments.Add(staff.staffID.ToString(), false); } } using (ProjectRequestEntities project = new ProjectRequestEntities()) { foreach (var assignment in staffAssignments) { var editTaskAssignment = project.TaskAssignments.FirstOrDefault(a => a.taskID == task.taskID && a.staffID == assignment.Key); if (assignment.Value == true) { if (editTaskAssignment == null) { TaskAssignment myTask = new TaskAssignment(); myTask.templateID = templateID; myTask.taskID = task.taskID; myTask.staffID = assignment.Key; project.AddToTaskAssignments(myTask); project.SaveChanges(); } } else if (assignment.Value == false) { if (editTaskAssignment != null) { project.TaskAssignments.DeleteObject(editTaskAssignment); project.SaveChanges(); } } } //end assignment foreach } //end using statement }