public IActionResult Put(int id, WebApiTask apiTask)
        {
            var updatedTask = (Models.Task)apiTask;

            updatedTask.Id = id;

            var dbTask = _context.Tasks.Find(id);

            dbTask.Text        = updatedTask.Text;
            dbTask.start_date  = updatedTask.start_date;
            dbTask.Duration    = updatedTask.Duration;
            dbTask.ParentId    = updatedTask.ParentId;
            dbTask.Progress    = updatedTask.Progress;
            dbTask.Type        = updatedTask.Type;
            dbTask.Description = updatedTask.Description;
            dbTask.Machine     = updatedTask.Machine;
            dbTask.Customer    = updatedTask.Customer;
            dbTask.Employee    = updatedTask.Employee;
            dbTask.PartName    = updatedTask.PartName;

            if (!string.IsNullOrEmpty(apiTask.target))
            {
                //reordering occurred
                this._UpdateOrders(dbTask, apiTask.target);
            }

            _context.SaveChanges();

            return(Ok(new
            {
                action = "updated"
            }));
        }
        public IActionResult Post(WebApiTask apiTask)
        {
            var newTask = (Models.Task)apiTask;

            newTask.SortOrder = _context.Tasks.Max(t => t.SortOrder) + 1;
            _context.Tasks.Add(newTask);
            _context.SaveChanges();

            return(Ok(new
            {
                tid = newTask.Id,
                action = "inserted"
            }));
        }