public ActionResult <LaunchDto> Get(Guid launchId)
        {
            var result = _launchService.Single(launchId);

            return(result.IsSuccess ? Ok(new LaunchDto(result.Value))
                : (ActionResult)NotFound());
        }
Exemplo n.º 2
0
        public ActionResult <ProjectDto> Add(string discordId, Guid?categoryId, string year, Guid?roleId, Project project)
        {
            var userResult = _userService.SingleByDiscordId(discordId);

            var categoryResult = categoryId != null
                ? _categoryService.Single(categoryId)
                : _categoryService.Single(1);

            var launchResult = !string.IsNullOrEmpty(year)
                ? _launchService.SingleByLaunchYear(year)
                : _launchService.Single(1);

            var roleResult = roleId != null
                ? _roleService.Single(roleId)
                : _roleService.Single(1);

            if (userResult.IsSuccess && categoryResult.IsSuccess &&
                launchResult.IsSuccess && roleResult.IsSuccess)
            {
                project.CategoryId     = categoryResult.Value.CategoryId;
                project.LaunchProjects = new List <LaunchProject>
                {
                    new LaunchProject {
                        LaunchId = launchResult.Value.LaunchId
                    }
                };
                project.UserProjects = new List <UserProject>
                {
                    new UserProject
                    {
                        UserProjectRoles = new List <UserProjectRole>
                        {
                            new UserProjectRole {
                                RoleId = roleResult.Value.RoleId
                            }
                        },
                        User = userResult.Value
                    }
                };

                var result = _projectService.Add(project);

                return(result.IsSuccess ? Ok(new ProjectDto(result.Value))
                    : (ActionResult)NotFound());
            }

            return(NotFound());
        }