public IHttpActionResult Put(int id, SubTodo subTodo) { try { return Ok(_service.Update(subTodo)); } catch (Exception) { return NotFound(); } }
public IHttpActionResult Post(SubTodo newSubTodo) { try { _service.Add(newSubTodo); return Ok(newSubTodo); } catch (Exception) { return NotFound(); } }
/// <summary> /// Add new Sub todo /// </summary> /// <param name="newSubTodo">new item</param> /// <returns>result of adding</returns> public void AddSubTodo(SubTodo newSubTodo) { _context.SubTodos.Add(newSubTodo); _context.SaveChanges(); }
/// <summary> /// Update subtask /// </summary> /// <param name="newSubTodo">new subtask state</param> /// <returns>result of updating</returns> public SubTodo UpdateSubTodo(SubTodo newSubTodo) { var todo = _context.Todos.Find(newSubTodo.TodoId); if (todo != null) { var subTodo = todo.SubTodos.FirstOrDefault(item=>item.TodoId==newSubTodo.TodoId); if (subTodo != null) { subTodo.IsDone = newSubTodo.IsDone;// mark subtask as done //If all subtask in todos checked todos mark it as done if (!todo.SubTodos.Where(subtodo => subtodo.IsDone == false).Any() && !todo.IsDone) { todo.IsDone = true; } } _context.SaveChanges(); return subTodo; } return null; }
public SubTodo Update(SubTodo item) { return _repository.UpdateSubTodo(item); }
public void Add(SubTodo item) { _repository.AddSubTodo(item); }