コード例 #1
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());
        }
コード例 #2
0
        public async Task <Response <TeamDTO> > Create(Guid userId, Guid companyId, TeamCreateDTO dto, bool sendInvites = true)
        {
            var entity = new TeamModel
            {
                Name        = dto.Name,
                CompanyId   = companyId,
                CreatedDate = DateTime.UtcNow,
                ColorHex    = dto.ColorHex,
                CreatorId   = userId
            };

            entity = await _repository.Create(entity);

            await _teamsUsersRepository.AddTeamUser(entity.Id, userId, MembershipStatus.SuperAdmin);

            await _membershipService.InviteUsers(entity.Id, InviteEntityType.Team, userId, dto.Emails, sendInvites);

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

            return(new Response <TeamDTO>
            {
                Data = result
            });
        }