示例#1
0
        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);
        }
示例#2
0
        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));
        }