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()); }
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 }); }