コード例 #1
0
        public string SaveLinksForTeam(TeamLinksDto teamLinksDto)
        {
            using (ConsoleRepository)
            {
                // Check does Team Links exist
                var team = ConsoleRepository.Query<Team>(t => t.Links).FirstOrDefault(t => t.Id == teamLinksDto.TeamId);

                bool linksChanged = false;
                if (team != null)
                {
                    // Remove links that need to be removed
                    var currentTeamLinks = team.Links.Select(t => t.Id).ToList();
                    var linksToRemove = currentTeamLinks.Except(teamLinksDto.TeamLinksIdList).ToList();

                    foreach (var linkId in linksToRemove)
                    {
                        var linkToDelete = ConsoleRepository.Query<Link>().FirstOrDefault(l => l.Id == linkId);

                        if (linkToDelete != null && team.Links.Any(l => l.Equals(linkToDelete)))
                        {
                            team.Links.Remove(linkToDelete);
                            linksChanged = true;
                        }
                    }

                    // Add Links that need to be added
                    foreach (var linkId in teamLinksDto.TeamLinksIdList)
                    {
                        if (team.Links.Any(l => l.Id == linkId)) continue;
                        var linkToAdd = ConsoleRepository.Query<Link>().FirstOrDefault(l => l.Id == linkId);

                        team.Links.Add(linkToAdd);
                        linksChanged = true;
                    }

                    ConsoleRepository.SaveChanges();

                    if (linksChanged)
                        return "Saved Link(s) for Team";
                    else
                        return "Link(s) for Team have not changed";
                }
                else
                {
                    return "Save Links - Team does not Exist";
                }
            }
        }
コード例 #2
0
        public ActionResult SaveLinksForTeam(TeamLinksDto teamLinksDto)
        {
            try
            {
                var result = AdminModuleManager.SaveLinksForTeam(teamLinksDto);

                return new JsonNetResult
                {
                    Data = result
                };
            }
			catch (Exception ex) // TODO: Remove
            {
                LogHandler.WriteLog(ex.ToString(), LogSeverity.Error, LogCategory.BusinessComponent);
                throw new HttpException(500, "Server Error");
            }
        }
        public void SaveLinksForTeam_LinksSame_Success()
        {
            // Assign
            var teamLinksIdList = new List<int> { 7, 8 };
            var teamLinksDto = new TeamLinksDto { TeamId = _testTeam.Id, TeamLinksIdList = teamLinksIdList };

            var expectedResultMessage = "Save Links - Team does not Exist";

            // Act
            var actualResultMessage = _adminModuleManager.SaveLinksForTeam(teamLinksDto);

            // Assert
            Assert.AreNotEqual(expectedResultMessage, actualResultMessage);
        }