示例#1
0
        public async Task <IActionResult> Details(long id)
        {
            var teams = await _teamRepository.GetById(id);

            if (teams != null)
            {
                return(Ok(teams));
            }

            return(NotFound());
        }
示例#2
0
        public async Task <Response <TeamDTO> > Update(Guid teamId, Guid userId, TeamUpdateDTO dto)
        {
            var teamEntity = await _repository.GetById(teamId);

            if (teamEntity == null)
            {
                return(new BusinessConflictErrorResponse <TeamDTO>(new []
                {
                    new Error
                    {
                        Code = ErrorCodes.Common.NotFound,
                        Message = ErrorMessages.Common.NotFound,
                        Field = "teamId"
                    }
                }));
            }

            var teamUser = await _teamsUsersRepository.GetTeamUser(teamId, userId);

            if (teamUser == null)
            {
                return(new BusinessConflictErrorResponse <TeamDTO>(new []
                {
                    new Error
                    {
                        Code = ErrorCodes.Common.NotFound,
                        Message = ErrorMessages.Common.NotFound,
                        Field = "userId"
                    }
                }));
            }

            if (teamUser.Status != MembershipStatus.SuperAdmin)
            {
                return(new ForbiddenErrorResponse <TeamDTO>(new []
                {
                    new Error
                    {
                        Code = ErrorCodes.Security.Forbidden,
                        Message = ErrorMessages.Security.Forbidden
                    }
                }));
            }

            teamEntity.Name     = dto.Name;
            teamEntity.ColorHex = dto.ColorHex;

            teamEntity = await _repository.Update(teamEntity);

            var result = _mapper.Map <TeamModel, TeamDTO>(teamEntity);

            return(new Response <TeamDTO>
            {
                Data = result
            });
        }
示例#3
0
        public async Task <Response <TeamDTO> > GetById(Guid id)
        {
            var entity = await _repository.GetById(id);

            var result = _mapper.Map <TeamModel, TeamDTO>(entity);

            return(new Response <TeamDTO>
            {
                Data = result
            });
        }
示例#4
0
        public async Task <Team> GetTeamById(int id, string userId)
        {
            var team = await _repository.GetById(id);

            if (team == null)
            {
                return(null);
            }

            var teamPlayers = await _playersRepository.GetAllByTeamId(id);

            team.Players = teamPlayers.ToList();
            return(team.ApplicationUserId == userId ? team : null);
        }
示例#5
0
        public async Task <Response> AddUserToTeam(Guid teamId, Guid userId, MembershipStatus membershipStatus)
        {
            var team = await _teamsRepository.GetById(teamId);

            await AddUserToCompany(team.CompanyId, userId, membershipStatus);

            var teamUser = await _teamsUsersRepository.GetTeamUser(teamId, userId);

            if (teamUser == null)
            {
                await _teamsUsersRepository.AddTeamUser(teamId, userId, membershipStatus);
            }
            return(new Response());
        }
示例#6
0
 public ActionResult <TeamDetailModel> GetById(Guid id)
 {
     return(_teamsRepository.GetById(id));
 }