public JobDutyWithEmployees JobDutyEditEmployees(JobDutyEditEmployees newItem)
{
// Attempt to fetch the object
// When editing an object with a to-many collection,
// and you wish to edit the collection,
// MUST fetch its associated collection
var o = ds.JobDuties.Include("Employees")
.SingleOrDefault(e => e.Id == newItem.Id);
if (o == null)
{
// Problem - object was not found, so return
return null;
}
else
{
// Update the object with the incoming values
// First, clear out the existing collection
o.Employees.Clear();
// Then, go through the incoming items
// For each one, add to the fetched object's collection
foreach (var item in newItem.EmployeeIds)
{
var a = ds.Employees.Find(item);
o.Employees.Add(a);
}
// Save changes
ds.SaveChanges();
return Mapper.Map<JobDutyWithEmployees>(o);
}
}
}