public CreateTaskCommandTests()
        {
            _fixture            = new Fixture();
            _taskRepositoryMock = Substitute.For <ITaskRepository>();

            _createTaskCommand = new CreateTaskCommand(_taskRepositoryMock);
        }
 public TodoController(ICreateTaskCommand createTaskCommand, IUpdateTaskCommand updateTaskCommand,
                       IDeleteTaskCommand deleteTaskCommand, IGetTaskQuery getTaskQuery, IGetTaskListQuery getTaskListQuery)
 {
     _createTaskCommand = createTaskCommand;
     _updateTaskCommand = updateTaskCommand;
     _deleteTaskCommand = deleteTaskCommand;
     _getTaskQuery      = getTaskQuery;
     _getTaskListQuery  = getTaskListQuery;
 }
示例#3
0
        public async Task <IActionResult> CreateTaskAsync(
            int projectId,
            [FromBody] CreateTaskRequest request,
            [FromServices] ICreateTaskCommand command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //TODO: check if user is owner of project
            var task = await command.ExecuteAsync(request);

            return(Ok(task));
        }
示例#4
0
        public async Task <IActionResult> CreateTaskAsync([FromBody] CreateTaskRequest request, [FromServices] ICreateTaskCommand command)
        //[FromBody]CreateProjectRequest request, [FromServices]ICreateProjectCommand command
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //TaskResponse response = await command.ExecuteAsync(request);
            try
            {
                TaskResponse response = await command.ExecuteAsync(request);

                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#5
0
        public async Task <IActionResult> CreateTask([FromBody] CreateTaskRequest request, [FromServices] ICreateTaskCommand command, Guid id = default)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            TaskResponse response = await command.ExecuteAsync(request);

            return(CreatedAtAction(nameof(CreateTask), response.Id, response));
        }
        public async Task <IActionResult> CreateTaskAsync([FromBody] CreateTaskRequest request, [FromServices] ICreateTaskCommand command, [FromServices] IGetProjectQuery query)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var project = await query.RunAsync(request.ProjectId);

                if ((await _authorizationService.AuthorizeAsync(User, project, Operations.CreateTask)).Succeeded)
                {
                    TaskResponse response = await command.ExecuteAsync(request);

                    return(Created(Url.RouteUrl(new { response.Id }), response));
                }
                return(StatusCode(403, "Вы не можете создать задачу для этого проекта!"));
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#7
0
        public IActionResult Post([FromBody] TaskDTO dto, [FromServices] ICreateTaskCommand command)
        {
            _executor.ExecuteCommand(command, dto);

            return(StatusCode(StatusCodes.Status201Created));
        }