Exemplo n.º 1
0
        public ActionResult GetGuildNav()
        {
            var guildIds = new List <int>();

            if (Request.IsAuthenticated)
            {
                guildIds.AddRange(_authUserCharacterRepository.GetGuildIdsForEmail(User.Identity.GetUserId()));
            }
            var guildNav = _navigationRepository.GetGuildNavigation();
            var navModel = new List <GuildNavShard>();

            foreach (var guild in guildNav)
            {
                var guildNavShard = navModel.FirstOrDefault(n => n.Name == guild.Shard.Name);
                if (guildNavShard == null)
                {
                    navModel.Add(new GuildNavShard()
                    {
                        Name   = guild.Shard.Name,
                        Guilds = new List <GuildNavGuild>()
                        {
                            new GuildNavGuild()
                            {
                                Id      = guild.Id,
                                Name    = guild.Name,
                                Visible = !guild.HideFromLists || guildIds.Contains(guild.Id)
                            }
                        }
                    });
                }
                else
                {
                    guildNavShard.Guilds.Add(new GuildNavGuild()
                    {
                        Id = guild.Id, Name = guild.Name, Visible = !guild.HideFromLists || guildIds.Contains(guild.Id)
                    });
                }
            }

            return(PartialView("_GuildNav", navModel));
        }