示例#1
0
        public IHttpActionResult Put(int id, SubTodo subTodo)
        {
            try
            {
                return Ok(_service.Update(subTodo));
            }
            catch (Exception)
            {

                return NotFound();
            }
        }
示例#2
0
 public IHttpActionResult Post(SubTodo newSubTodo)
 {
     try
     {
         _service.Add(newSubTodo);
         return Ok(newSubTodo);
     }
     catch (Exception)
     {
         return NotFound();
     }
 }
示例#3
0
 /// <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();
 }
示例#4
0
        /// <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;
        }
示例#5
0
 public SubTodo Update(SubTodo item)
 {
     return _repository.UpdateSubTodo(item);
 }
示例#6
0
 public void Add(SubTodo item)
 {
     _repository.AddSubTodo(item);
 }