示例#1
0
 public ProjectHandler(IProjectQueryRepository projectQueryRepository, IProjectRepository projectRepository, IProjectPartitionKeyGenerator partitionKeyGenerator)
 {
     _projectQueryRepository = projectQueryRepository;
     _projectRepository      = projectRepository;
     _mapper = new ProjectMapper(partitionKeyGenerator);
     _createProjectCommandValidator = new CreateProjectCommandValidator();
     _updateProjectCommandValidator = new UpdateProjectCommandValidator();
     _getListQueryValidator         = new GetListQueryValidator();
     _getByIdQueryValidator         = new GetByIdQueryValidator();
     _deleteByIdCommandValidator    = new DeleteByIdCommandValidator();
 }
        public IHttpActionResult UpdateProject([FromBody] UpdateProjectCommand command)
        {
            if (command == null)
            {
                return(BadRequest(DefaultMessages.InvalidBody));
            }
            ValidationError error = new UpdateProjectCommandValidator().Validate(command);

            if (error.IsInvalid)
            {
                return(BadRequest(error.Error));
            }
            ProjectsRepository repository = new ProjectsRepository(Connection, HttpContext.Current.User);

            if (repository.Find(command.ProjectId) == null)
            {
                return(BadRequest("Projeto não encontrado"));
            }
            repository.Update(command);
            return(Ok());
        }