Esempio n. 1
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));
        }
Esempio n. 2
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));
        }
Esempio n. 3
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));
            }
        }
        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));
            }
        }