public void UpdateTask_ReturnsOK()
        {
            int      id          = 21;
            string   description = "Test";
            DateTime dueDate     = DateTime.Now;
            String   title       = "Test Task";



            var Task = new List <TaskDto>()
            {
                new TaskDto()
                {
                    TaskId = 1
                }
            };

            NSI.REST.Models.TasksEditModel task = new TasksEditModel()
            {
                TaskId      = id,
                Description = description,
                DueDate     = dueDate,
                Title       = title
            };

            var task2 = new TaskDto
            {
                TaskId      = id,
                Description = description,
                DueDate     = dueDate,
                Title       = title
            };

            var taskRepo = new Mock <ITaskRepository>();

            taskRepo.Setup(x => x.EditTask(id, task2));
            var logger = new Mock <Microsoft.Extensions.Logging.ILogger <TasksController> >().Object;

            var taskMan    = new Mock <ITaskManipulation>();
            var controller = new TasksController(taskMan.Object);

            var result = controller.ChangeTask(id, task);

            Xunit.Assert.IsType <OkObjectResult>(result);
        }
        public IActionResult ChangeTask(int id, [FromBody] TasksEditModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                TaskDto taskDto = new TaskDto()
                {
                    Description  = model.Description,
                    DueDate      = model.DueDate,
                    Title        = model.Title,
                    UserId       = model.UserId,
                    Status       = model.Status,
                    DateModified = DateTime.Now
                };

                return(Ok(new NSIResponse <TaskDto> {
                    Data = _taskRepository.EditTask(id, taskDto), Message = "Success"
                }));
            }
            catch (NSIException ex)
            {
                Logger.Logger.LogError(ex);
                if (ex.ErrorType == DC.Exceptions.Enums.ErrorType.MissingData)
                {
                    return(NoContent());
                }
                return(BadRequest(new NSIResponse <object> {
                    Data = null, Message = "Parameter error!"
                }));
            }
            catch (Exception ex)
            {
                Logger.Logger.LogError(ex);
                return(StatusCode(500, new NSIResponse <object> {
                    Data = null, Message = ex.Message
                }));
            }
        }