public void TestGenerateFirstLevelTeam() { var leaderRole = _context.ConferenceTeamRoles.FirstOrDefault(n => n.Conference == conference && n.TeamRoleLevel == 1); Assert.NotNull(leaderRole); var firstLevelAuth = new ConferenceRoleAuth() { CanEditConferenceSettings = false, CanEditParticipations = false, CanSeeApplications = true, Conference = conference, PowerLevel = 2, RoleAuthName = "Erweiterte Projektleitung", }; _context.ConferenceRoleAuthorizations.Add(firstLevelAuth); var firstLevelGroup = new TeamRoleGroup() { FullName = "Erweiterte Projektleitung", GroupLevel = 2, Name = "Erweiterte Projektleitung", TeamRoleGroupShort = "EPL" }; _context.TeamRoleGroups.Add(firstLevelGroup); var teamCoordinatorRole = new ConferenceTeamRole() { Conference = conference, IconName = "un", ParentTeamRole = leaderRole, ConferenceRoleAuth = firstLevelAuth, RoleFullName = "Team- und Materialkoordination", RoleName = "Team- und Materialkoordination", RoleShort = "TMK", TeamRoleGroup = firstLevelGroup, TeamRoleLevel = 2 }; var financeManager = new ConferenceTeamRole() { Conference = conference, IconName = "un", ParentTeamRole = leaderRole, ConferenceRoleAuth = firstLevelAuth, RoleFullName = "Finanzen", RoleName = "Finanzen", RoleShort = "CASH", TeamRoleGroup = firstLevelGroup, TeamRoleLevel = 2 }; _context.ConferenceTeamRoles.Add(teamCoordinatorRole); _context.ConferenceTeamRoles.Add(financeManager); _context.SaveChanges(); Assert.AreEqual(3, _context.ConferenceTeamRoles.Count(n => n.Conference.ConferenceId == conference.ConferenceId)); }
public async Task <CreateTeamRoleGroupResponse> CreateTeamRoleGroupAsync(CreateTeamRoleGroupRequest request, ClaimsPrincipal claim) { var response = new CreateTeamRoleGroupResponse(); var isAllowed = await _authService.IsUserAllowedToEditTeam(request.ConferenceId, claim); if (!isAllowed) { response.AddNoPermissionError(); return(response); } var conference = _context.Conferences.FirstOrDefault(n => n.ConferenceId == request.ConferenceId); if (conference == null) { response.AddNotFoundError(nameof(request.ConferenceId)); } if (_context.TeamRoleGroups.Any(n => n.Conference.ConferenceId == request.ConferenceId && n.Name == request.GroupName)) { response.AddNotFoundError(nameof(request.GroupName)); } if (_context.TeamRoleGroups.Any(n => n.Conference.ConferenceId == request.ConferenceId && n.FullName == request.GroupFullName)) { response.AddNotFoundError(nameof(request.GroupFullName)); } if (_context.TeamRoleGroups.Any(n => n.Conference.ConferenceId == request.ConferenceId && n.TeamRoleGroupShort == request.GroupShort)) { response.AddNotFoundError(nameof(request.GroupShort)); } if (response.HasError) { return(response); } var group = new TeamRoleGroup() { Conference = conference, FullName = request.GroupFullName, GroupLevel = request.GroupLevel, Name = request.GroupName, TeamRoleGroupShort = request.GroupShort }; _context.TeamRoleGroups.Add(group); await _context.SaveChangesAsync(); response.CreatedGroupId = group.TeamRoleGroupId; return(response); }
public void TestCreateTeamRoleProjectLeader() { var leaderAuth = new ConferenceRoleAuth() { Conference = conference, CanEditConferenceSettings = true, CanEditParticipations = true, CanSeeApplications = true, PowerLevel = 1, RoleAuthName = "Project-Owner" }; _context.ConferenceRoleAuthorizations.Add(leaderAuth); var leaderRoleGroup = new TeamRoleGroup() { FullName = "die Projektleitung", Name = "Projektleitung", TeamRoleGroupShort = "PL", GroupLevel = 1 }; _context.TeamRoleGroups.Add(leaderRoleGroup); var leaderRole = new ConferenceTeamRole() { Conference = conference, IconName = "pl", RoleFullName = "Projektleiter", ConferenceRoleAuth = leaderAuth, RoleName = "Projektleiter", RoleShort = "PL", TeamRoleGroup = leaderRoleGroup, TeamRoleLevel = 1, }; _context.ConferenceTeamRoles.Add(leaderRole); _context.SaveChanges(); var leaderRoleCallback = _context.ConferenceTeamRoles.FirstOrDefault(); Assert.NotNull(leaderRoleCallback); Assert.AreEqual(1, _context.ConferenceRoleAuthorizations.Count()); Assert.AreEqual(1, _context.ConferenceTeamRoles.Count()); Assert.AreEqual(1, _context.TeamRoleGroups.Count()); Assert.AreEqual("TeamRole", leaderRoleCallback.RoleType); }
public TeamRoleGroup EnsureOwnerTeamRoleGroup() { var leaderRoleGroup = _context.TeamRoleGroups.FirstOrDefault(n => n.Name == "Projektleitung"); if (leaderRoleGroup == null) { leaderRoleGroup = new TeamRoleGroup() { FullName = "die Projektleitung", Name = "Projektleitung", TeamRoleGroupShort = "PL", GroupLevel = 1 }; _context.TeamRoleGroups.Add(leaderRoleGroup); _context.SaveChanges(); } return(leaderRoleGroup); }
public TeamRoleGroupBuilder() { Group = new TeamRoleGroup(); }
public TeamRoleBuilder(TeamRoleGroup group = null) { this.Role = new ConferenceTeamRole(); Role.TeamRoleGroup = group; }