public async Task <IActionResult> TeamMembersAsync(int teamId) { var members = await GetAllTeamMembersAsync(teamId, new DisplayOptions { }); if (members == null) { return(View("MembersError")); } var teams = await _manageTeamsService.GetMyTeamsAsync(); var team = teams.FirstOrDefault(x => x.Id == teamId); if (team == null) { return(View("ErrorNotMember")); } var isOwner = false; if (await _accessCheckService.IsOwnerAsync(teamId)) { isOwner = true; } var teamViewModel = TeamViewModel.Create(team, isOwner, new List <TeamMember>()); return(View(teamViewModel)); }
public async Task <IActionResult> AllSprints(int teamId, DisplayOptions options) { List <Sprint> sprints; if (await _accessCheckService.OwnerOrMemberAsync(teamId)) { sprints = (List <Sprint>) await _manageSprintsService.GetAllSprintsAsync(teamId, options); } else { return(View("ErrorGetAllSprints")); } var team = await _manageSprintsService.GetTeam(teamId); if (await _accessCheckService.IsOwnerAsync(teamId)) { ViewBag.AddVision = "visible"; } else { ViewBag.AddVision = "collapse"; } ViewData["DaysInSprint"] = _localizer["DaysInSprint"]; ViewData["StoryPointInHours"] = _localizer["StoryPointInHours"]; ViewData["NameOfSprint"] = _localizer["NameOfSprint"]; ViewData["AddMember"] = _localizer["AddMember"]; ViewData["RemoveMember"] = _localizer["RemoveMember"]; ViewData["Remove"] = _localizer["Remove"]; ViewData["Cancel"] = _localizer["Cancel"]; List <TeamMember> teamMembers = await GetAllTeamMembersAsync(teamId, new DisplayOptions { }); var sprintAndTeam = new SprintAndTeamViewModel { Sprints = new List <SprintViewModel>() }; sprints.ForEach(t => sprintAndTeam.Sprints.Add(new SprintViewModel() { Id = t.Id, DaysInSprint = t.DaysInSprint, Status = t.Status, Name = t.Name, StoryPointInHours = t.StoryPointInHours, TeamId = t.TeamId } )); sprintAndTeam.Team = new TeamViewModel() { Id = team.Id, Owner = team.Owner, TeamName = team.TeamName, TeamMembers = new List <TeamMemberViewModel>() }; teamMembers.ForEach(t => sprintAndTeam.Team.TeamMembers.Add(new TeamMemberViewModel() { Member = t.Member, MemberId = t.MemberId })); return(View(sprintAndTeam)); }
public async Task <IActionResult> AllSprints(int teamId, DisplayOptions options) { List <Sprint> sprints; if (await _accessCheckService.OwnerOrMemberAsync(teamId)) { sprints = (List <Sprint>) await _manageSprintsService.GetAllSprintsAsync(teamId, options); } else { return(View("ErrorGetAllSprints")); } List <TeamMember> teamMembers = await GetAllTeamMembersAsync(teamId, new DisplayOptions { }); var sprintViewModel = new SprintAndTeamViewModel { Sprints = new List <SprintViewModel>() }; if (await _accessCheckService.IsOwnerAsync(teamId)) { sprintViewModel.IsOwner = true; } else { sprintViewModel.IsOwner = false; } sprints.ForEach(t => sprintViewModel.Sprints.Add(new SprintViewModel() { Id = t.Id, DaysInSprint = t.DaysInSprint, Status = t.Status, Name = t.Name, StoryPointInHours = t.StoryPointInHours, TeamId = t.TeamId } )); var team = await _manageSprintsService.GetTeam(teamId); sprintViewModel.Team = new TeamViewModel() { Id = team.Id, Owner = team.Owner, TeamName = team.TeamName, TeamMembers = new List <TeamMemberViewModel>() }; teamMembers.ForEach(t => sprintViewModel.Team.TeamMembers.Add(new TeamMemberViewModel() { Member = t.Member, MemberId = t.MemberId })); return(View(sprintViewModel)); }
public async Task <IActionResult> AllTasksForTeam(int teamId, DisplayOptions options) { if (!await _accessCheckService.OwnerOrMemberAsync(teamId)) { return(View("ErrorGetAllTasks")); } var tasks = await _manageTasksService.GetAllTasksForTeamAsync(teamId, options); if (await _accessCheckService.IsOwnerAsync(teamId)) { ViewBag.AddVision = "visible"; } else { ViewBag.AddVision = "collapse"; } var tasksForTeamViewModel = new AllTasksForTeamViewModel(); var team = await _manageTeamsService.GetTeamAsync(teamId); if (tasks == null || team == null) { return(View("ErrorGetAllTasks")); } tasksForTeamViewModel.TeamName = team.TeamName; tasksForTeamViewModel.Tasks = new List <TaskViewModel>(); tasks.ToList().ForEach(t => tasksForTeamViewModel.Tasks.Add(new TaskViewModel() { Id = t.Id, Link = t.Link, Name = t.Name, TeamMember = new TeamMemberViewModel() { Member = t.TeamMember.Member } })); tasksForTeamViewModel.TeamId = team.Id; return(View(tasksForTeamViewModel)); }
public async Task <IActionResult> AllSprints(int teamId, DisplayOptions options) { List <Sprint> sprints; options.SortDirection = SortDirection.ByStatus; if (await _accessCheckService.OwnerOrMemberAsync(teamId)) { var ienumarableSprints = await _manageSprintsService.GetAllSprintsAsync(teamId, options); sprints = ienumarableSprints.ToList(); } else { return(View("ErrorGetAllSprints")); } var isOwner = false; if (await _accessCheckService.IsOwnerAsync(teamId)) { isOwner = true; } var team = await _manageSprintsService.GetTeam(teamId); var teamMembers = await GetAllTeamMembersAsync(teamId, new DisplayOptions { }); team.SetTeamMembers(teamMembers); var sprintViewModel = SprintAndTeamViewModel.Create(null, sprints, team, isOwner, new List <MemberWorkingDays>()); return(View(sprintViewModel)); }
public async Task <IActionResult> TeamMembersAsync(int teamId) { List <TeamMember> members = await GetAllTeamMembersAsync(teamId, new DisplayOptions { }); if (members == null) { return(View("MembersError")); } var teams = await _manageTeamsService.GetMyTeamsAsync(); var team = teams.FirstOrDefault(x => x.Id == teamId); if (team == null) { return(View("ErrorNotMember")); } var teamViewModel = new TeamViewModel() { Id = team.Id, TeamName = team.TeamName, Owner = team.Owner, TeamMembers = new List <TeamMemberViewModel>() }; members.ForEach(t => teamViewModel.TeamMembers.Add(new TeamMemberViewModel() { MemberId = t.MemberId, Member = t.Member })); if (await _accessCheckService.IsOwnerAsync(teamId)) { teamViewModel.IsOwner = true; } else { teamViewModel.IsOwner = false; } return(View(teamViewModel)); }
public async Task <IActionResult> GetAllWorkingDays(int sprintId) { var sprint = await _manageSprintsService.GetSprintAsync(sprintId, true); var workingDays = await _manageMemberWorkingDaysService.GetAllWorkingDaysForSprintAsync(sprintId); var team = await _manageSprintsService.GetTeam(sprint.TeamId); var isOwner = false; if (await _accessCheckService.IsOwnerAsync(team.Id)) { isOwner = true; } var sprintAndTeamViewModel = SprintAndTeamViewModel.Create(sprint, new List <Sprint>(), team, isOwner, workingDays.ToList()); return(PartialView("_WorkingDaysPartial", sprintAndTeamViewModel)); }
public async Task <IActionResult> AllTasksForTeam(int teamId, DisplayOptions options) { if (!await _accessCheckService.OwnerOrMemberAsync(teamId)) { return(View("ErrorGetAllTasks")); } var tasks = await _manageTasksService.GetAllTasksForTeamAsync(teamId, options); var team = await _manageTeamsService.GetTeamAsync(teamId); if (tasks == null || team == null) { return(View("ErrorGetAllTasks")); } var tasksForTeamViewModel = new AllTasksForTeamViewModel(); tasksForTeamViewModel.TeamName = team.TeamName; tasksForTeamViewModel.Tasks = new List <TaskViewModel>(); tasks.ToList().ForEach(t => tasksForTeamViewModel.Tasks.Add(new TaskViewModel() { Id = t.Id, Link = t.Link, Name = t.Name, StoryPoints = t.StoryPoints, TeamMember = t.MemberId != null ? new TeamMemberViewModel() { Member = t.TeamMember.Member } : null })); tasksForTeamViewModel.TeamId = team.Id; if (await _accessCheckService.IsOwnerAsync(teamId)) { tasksForTeamViewModel.IsOwner = true; } else { tasksForTeamViewModel.IsOwner = false; } return(View(tasksForTeamViewModel)); }
private async Task <AllTasksForTeamViewModel> GetAllTasksForTeamViewModel(int teamId, DisplayOptions options) { options.SortDirection = SortDirection.ByStatus; var tasks = await _manageTasksService.GetAllTasksForTeamAsync(teamId, options); var team = await _manageTeamsService.GetTeamAsync(teamId); var sprints = await _manageSprintsService.GetAllSprintsAsync(teamId, options); var isOwner = false; if (await _accessCheckService.IsOwnerAsync(teamId)) { isOwner = true; } var tasksForTeamViewModel = AllTasksForTeamViewModel.Create(team, isOwner, sprints.ToList(), tasks.ToList()); return(tasksForTeamViewModel); }
private async Task <AllTasksForTeamViewModel> GetAllTasksForTeamViewModel(int teamId, DisplayOptions options) { var tasks = await _manageTasksService.GetAllTasksForTeamAsync(teamId, options); var team = await _manageTeamsService.GetTeamAsync(teamId); var sprints = await _manageSprintsService.GetAllSprintsAsync(teamId, options); var members = await _manageTeamsMembersService.GetAllTeamMembersAsync(teamId, new DisplayOptions { }); var tasksForTeamViewModel = new AllTasksForTeamViewModel() { TeamId = team.Id, TeamName = team.TeamName, Tasks = new List <TaskViewModel>(), Sprints = new List <SprintViewModel>(), Members = new List <TeamMemberViewModel>() }; sprints.ToList().ForEach(t => tasksForTeamViewModel.Sprints.Add(new SprintViewModel() { Id = t.Id, DaysInSprint = t.DaysInSprint, Status = t.Status, Name = t.Name, StoryPointInHours = t.StoryPointInHours, TeamId = t.TeamId })); if (tasksForTeamViewModel.Sprints.Count > 1 && tasksForTeamViewModel.Sprints[1].Status == PossibleStatuses.ActiveStatus) { var swapElem = tasksForTeamViewModel.Sprints[0]; tasksForTeamViewModel.Sprints[0] = tasksForTeamViewModel.Sprints[1]; tasksForTeamViewModel.Sprints[1] = swapElem; } tasks.ToList().ForEach(t => tasksForTeamViewModel.Tasks.Add(new TaskViewModel() { Id = t.Id, Link = t.Link, Name = t.Name, StoryPoints = t.StoryPoints, SprintId = t.SprintId, TeamMember = t.MemberId != null ? new TeamMemberViewModel() { Member = t.TeamMember.Member } : null, MemberId = t.MemberId, Completed = t.Completed })); members.ForEach(t => tasksForTeamViewModel.Members.Add(new TeamMemberViewModel() { MemberId = t.MemberId, Member = t.Member })); if (await _accessCheckService.IsOwnerAsync(teamId)) { tasksForTeamViewModel.IsOwner = true; } else { tasksForTeamViewModel.IsOwner = false; } return(tasksForTeamViewModel); }
public async System.Threading.Tasks.Task IsOwnerAsync_AccessCheckServiceReturnsTrue_ReturnsTrue() { //Arrange const int teamId1 = 1; const int teamId2 = 3; const string id = "abc-def"; var teams = new List <Team> { new Team { Id = 1, TeamOwner = "abc-def", TeamName = "Team1", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "def-abc", TeamId = 1 } } }, new Team { Id = 2, TeamOwner = "def-abc", TeamName = "Team2", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "abc-def", TeamId = 2 } } }, new Team { Id = 3, TeamOwner = "def-abc", TeamName = "Team3", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "asf-fgv", TeamId = 3 } } }, new Team { Id = 4, TeamOwner = "abc-def", TeamName = "Team4", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "abc-def", TeamId = 4 } } }, new Team { Id = 5, TeamOwner = "def-abc", TeamName = "Team5", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "asf-fgv", TeamId = 5 } } }, new Team { Id = 6, TeamOwner = "def-abc", TeamName = "Team6", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "asf-fgv", TeamId = 6 } } }, new Team { Id = 7, TeamOwner = "def-abc", TeamName = "Team7", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "asf-fgv", TeamId = 7 } } }, new Team { Id = 8, TeamOwner = "def-abc", TeamName = "Team8", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "asf-fgv", TeamId = 8 } } }, new Team { Id = 9, TeamOwner = "def-abc", TeamName = "Team9", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "abc-def", TeamId = 9 } } }, new Team { Id = 10, TeamOwner = "def-abc", TeamName = "Team10", TeamMembers = new List <TeamMember> { new TeamMember { MemberId = "asf-fgv", TeamId = 10 } } } }; var mock = teams.AsQueryable().BuildMock(); _teamRepository.Setup(x => x.GetAll()).Returns(mock.Object); var ud = new Mock <UserDetails>(null); ud.Setup(x => x.Id()).Returns(id); ud.Setup(x => x.Name()).Returns("name"); _currentUser.SetupGet(x => x.Current).Returns(ud.Object); //Act var result1 = await _accessCheckService.IsOwnerAsync(teamId1); //Owner var result2 = await _accessCheckService.IsOwnerAsync(teamId2); //Not Owner //Assert> Assert.AreEqual(true, result1); Assert.AreEqual(false, result2); }
public async System.Threading.Tasks.Task IsOwnerAsync_AccessCheckServiceReturnsTrue_ReturnsTrue() { //Arrange const int teamId1 = 1; const int teamId2 = 3; const string id = "abc-def"; var teams = new List <Team> { Team.Create(1, "abc-def", "Team1", new List <TeamMember>() { TeamMember.Create(1, 1, "def-abc", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(2, "def-abc", "Team2", new List <TeamMember>() { TeamMember.Create(2, 2, "abc-def", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(3, "def-abc", "Team3", new List <TeamMember>() { TeamMember.Create(3, 3, "asf-fgv", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(4, "abc-def", "Team4", new List <TeamMember>() { TeamMember.Create(4, 4, "abc-def", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(5, "def-abc", "Team5", new List <TeamMember>() { TeamMember.Create(5, 5, "asf-fgv", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(6, "def-abc", "Team6", new List <TeamMember>() { TeamMember.Create(6, 6, "asf-fgv", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(7, "def-abc", "Team7", new List <TeamMember>() { TeamMember.Create(7, 7, "asf-fgv", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(8, "def-abc", "Team8", new List <TeamMember>() { TeamMember.Create(8, 8, "asf-fgv", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(9, "def-abc", "Team9", new List <TeamMember>() { TeamMember.Create(9, 9, "abc-def", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), Team.Create(10, "def-abc", "Team10", new List <TeamMember>() { TeamMember.Create(10, 10, "asf-fgv", User.Create("1234", "*****@*****.**", "vasya", "ivanov")) }), }; var mock = teams.AsQueryable().BuildMock(); _teamRepository.Setup(x => x.GetAllAsync()) .Returns(System.Threading.Tasks.Task.FromResult(teams.AsEnumerable())); var ud = new Mock <UserDetails>(null); ud.Setup(x => x.Id()).Returns(id); ud.Setup(x => x.Name()).Returns("name"); _currentUser.SetupGet(x => x.Current).Returns(ud.Object); //Act var result1 = await _accessCheckService.IsOwnerAsync(teamId1); //Owner var result2 = await _accessCheckService.IsOwnerAsync(teamId2); //Not Owner //Assert> Assert.AreEqual(true, result1); Assert.AreEqual(false, result2); }