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 CreateProject([FromBody] CreateProjectCommand command) { if (command == null) { return(BadRequest(DefaultMessages.InvalidBody)); } ValidationError error = new CreateProjectCommandValidator().Validate(command); if (error.IsInvalid) { return(BadRequest(error.Error)); } ProjectsRepository repository = new ProjectsRepository(Connection, HttpContext.Current.User); return(Ok(repository.Create(command))); }