public async Task <IActionResult> PutWorkshopObject([FromRoute] int id, [FromBody] WorkshopObject workshopObject) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != workshopObject.Id) { return(BadRequest()); } _context.Entry(workshopObject).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WorkshopObjectExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PostWorkshopObject([FromBody] WorkshopObject workshopObject) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Objects.Add(workshopObject); await _context.SaveChangesAsync(); return(CreatedAtAction("GetWorkshopObject", new { id = workshopObject.Id }, workshopObject)); }
private async Task DeleteRestOfEntities(WorkshopObject obj) { var problems = _context.Problems.Where(p => p.ObjectId == obj.Id); if (problems.Any()) { foreach (var problem in problems) { var tasks = _context.Tasks.Where(t => t.ProblemId == problem.Id); if (tasks.Any()) { foreach (var t in tasks) { await DeleteUtils.DeleteTask(t, _context); } } await DeleteUtils.DeleteProblem(problem, _context); } } }
public static async Task DeleteObject(WorkshopObject obj, WorkshopContext context) { context.Objects.Remove(obj); await context.SaveChangesAsync(); }