public async Task <IActionResult> DeleteItem(int id) { try { var item = await _projectRepository.FindByIdAsync(id); if (item == null) { return(NotFound()); } else { // удалить все связанные записи... var tasks = await _projectTaskRepository.FindAsync(e => e.ProjectId.Equals(id) && !e.Deleted); foreach (var task in tasks) { task.Deleted = true; } item.Deleted = true; await _projectRepository.EditAsync(item); if (tasks.Count > 0) { await _projectTaskRepository.EditAsync(tasks.ToList()); } return(NoContent()); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }