public async Task ExecuteAsync(ArchiveProjectRequest request)
        {
            //TODO: check if user allowed to archive this project
            var project = await _context.Projects.FindAsync(request.ProjectId);

            if (project != null && !project.Archived)
            {
                project.Archived = true;
                await _context.SaveChangesAsync();
            }
        }
示例#2
0
        public async Task <IActionResult> ArchiveProjectAsync([FromBody] ArchiveProjectRequest request, [FromServices] IArchiveProjectCommand command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!request.Confirm)
            {
                return(BadRequest($"Cannot archive project with id {request.ProjectId}. Operation requires confirmation"));
            }
            await command.ExecuteAsync(request);

            return(NoContent());
        }