public ToDoDetailsVM CreateNewTask(ToDoCreateModelVM createModel, string username)
        {
            if (DoesUserExist(username))
            {
                var toDo = new ToDoItem()
                {
                    ID          = createModel.ID,
                    Name        = createModel.Name,
                    Description = createModel.Description,
                    DueDate     = DateTime.Now.AddHours(createModel.DueIn),
                    IsDone      = createModel.IsDone,
                    User        = GetUserByUsername(username)
                };

                UpdateStatusDependingOnTimeLeft(toDo);                 // sets the status to the new object

                _toDoContext.ToDos.Add(toDo);
                _toDoContext.SaveChanges();

                return(new ToDoDetailsVM()
                {
                    ID = toDo.ID,
                    Name = createModel.Name,
                    Description = createModel.Description,
                    DueDate = DateTime.Now.AddHours(createModel.DueIn),
                    IsDone = createModel.IsDone,
                    Status = toDo.ToDoStatus
                });
            }

            return(null);
        }
        public IActionResult CreateTask(ToDoCreateModelVM createModel, string username)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var toDoDetails = _repository.CreateNewTask(createModel, username);

            if (toDoDetails == null)
            {
                return(NotFound("User not found!"));
            }

            return(Ok(toDoDetails));
        }