public ActionResult <GruntTask> EditGruntTask([FromBody] GruntTask task) { GruntTask updatingTask = _context.GruntTasks.Include(T => T.Options).FirstOrDefault(T => T.Id == task.Id); if (updatingTask == null) { return(NotFound($"NotFound - GruntTask with id: {task.Id}")); } updatingTask.Name = task.Name; updatingTask.Code = task.Code; updatingTask.Description = task.Description; updatingTask.EmbeddedResources = task.EmbeddedResources; updatingTask.ReferenceAssemblies = task.ReferenceAssemblies; updatingTask.ReferenceSourceLibraries = task.ReferenceSourceLibraries; updatingTask.TokenTask = task.TokenTask; foreach (GruntTask.GruntTaskOption option in updatingTask.Options) { GruntTask.GruntTaskOption t = task.Options.FirstOrDefault(O => O.Name == option.Name); if (t != null) { option.Value = t.Value; } } _context.GruntTasks.Update(updatingTask); _context.SaveChanges(); return(updatingTask); }
public ActionResult <GruntTask> EditGruntTask(int id, [FromBody] GruntTask task) { GruntTask updatingTask = _context.GruntTasks.FirstOrDefault(T => T.Id == id); if (updatingTask == null || updatingTask.Id != task.Id) { return(NotFound()); } updatingTask.Options = _context.GruntTaskOptions.Where(O => O.TaskId == updatingTask.Id).ToList(); task.Options.ForEach(O => { GruntTask.GruntTaskOption updatingTaskOption = updatingTask.Options.FirstOrDefault(TO => TO.Id == O.Id); if (updatingTaskOption == null) { return; } updatingTaskOption.Value = O.Value; }); _context.GruntTasks.Update(updatingTask); _context.SaveChanges(); return(Ok(updatingTask)); }