示例#1
0
        public IHttpActionResult CreateTask([FromBody] CreateTaskCommand command)
        {
            if (command == null)
            {
                return(BadRequest(DefaultMessages.InvalidBody));
            }
            ValidationError error = new CreateTaskCommandValidator().Validate(command);

            if (error.IsInvalid)
            {
                return(BadRequest(error.Error));
            }

            ProjectsRepository projectsRepository = new ProjectsRepository(Connection, User);
            Project            project            = projectsRepository.Find(command.ProjectId);

            if (project == null)
            {
                return(BadRequest("Projeto não encontrado."));
            }

            if (command.RequirementId > 0)
            {
                RequirementsRepository requirementsRepository = new RequirementsRepository(Connection);
                Requirement            requirement            = requirementsRepository.Find(command.ProjectId, command.RequirementId);
                if (requirement == null)
                {
                    return(BadRequest("Requisito não encontrado neste projeto."));
                }
            }

            TaskRepository taskRepository = new TaskRepository(Connection);

            return(Ok(taskRepository.Create(command)));
        }
        public IHttpActionResult FindRequirements([FromUri] int projectId)
        {
            if (projectId <= 0)
            {
                return(BadRequest(DefaultMessages.InvalidBody));
            }
            ProjectsRepository projectsRepository = new ProjectsRepository(Connection, HttpContext.Current.User);

            if (projectsRepository.Find(projectId) == null)
            {
                return(BadRequest("Projeto não encontrado."));
            }
            RequirementsRepository repository = new RequirementsRepository(Connection);

            return(Ok(repository.Find(projectId)));
        }