Esempio n. 1
0
 public Guild(GuildDto guildDto)
 {
     Index   = guildDto.GuildId;
     Name    = guildDto.Name;
     Mark    = guildDto.Mark;
     Members = guildDto.MembersInfo.Select(x => new GuildMember(this, x.Memb.Name, (GuildStatus)x.Rank)
     {
         Server = 0xff
     }).ToList();
     Type = guildDto.GuildType;
 }
Esempio n. 2
0
        public async Task <IActionResult> UpdateGuild(GuildDto guildDto)
        {
            var result = await _botService.EditGuildAsync(guildDto, await _userManager.GetUserAsync(User));

            if (!result)
            {
                return(BadRequest());
            }

            return(Ok());
        }
Esempio n. 3
0
        public Guild(GuildDto guildDto)
        {
            Index = guildDto.GuildId;
            Name  = guildDto.Name;
            Mark  = guildDto.Mark;
            Type  = guildDto.GuildType;

            using (var game = new GameContext())
            {
                Members = (from memb in game.GuildMembers
                           join @char in game.Characters on memb.MembId equals @char.CharacterId
                           where memb.GuildId == Index
                           select new GuildMember(this, @char.Name, (GuildStatus)memb.Rank)).ToList();
            }
        }
Esempio n. 4
0
        public async Task <Guild> GetGuildPlayers(string guildName)
        {
            await Task.FromResult(1);

            string functionName = "GetGuildPlayersRepo";
            string key          = guildName;
            var    objCache     = cacheClient.GetDataFromRepositoryCache(functionName, key);

            if (objCache != null)
            {
                var guild = (Guild)objCache;
                guild.LoadedFromCache = true;
                return(guild);
            }

            var queryData = string.Concat("{\"Name\":\"", guildName, "\"}");
            var orderby   = "{\"LastSwGohUpdated\":-1}";
            var limit     = "1";

            string url = BuildApiUrl("Guild", queryData, orderby, limit, null);

            //string url = string.Format("https://api.mlab.com/api/1/databases/triplezero/collections/Guild/?{0}&{1}&{2}&apiKey={3}", queryData, orderby, limit, apiKey);

            try
            {
                using (var client = new HttpClient())
                {
                    var response = await client.GetStringAsync(url);

                    GuildDto ret = JsonConvert.DeserializeObject <List <GuildDto> >(response, JSonConverterSettings.Settings).FirstOrDefault();

                    Guild guild = _Mapper.Map <Guild>(ret);

                    //load to cache
                    await cacheClient.AddToRepositoryCache(functionName, key, guild);

                    return(guild);
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }
        }
Esempio n. 5
0
        public Guild(GuildDto guildDto)
        {
            Index = guildDto.GuildId;
            Name  = guildDto.Name;
            Mark  = guildDto.Mark;

            using (var game = new GameContext())
            {
                var membsDb = (from memb in game.GuildMembers
                               where memb.GuildId == Index
                               select memb).ToList();

                Members = (from @char in game.Characters
                           from memb in membsDb
                           where @char.CharacterId == memb.MembId
                           select new GuildMember(this, @char.Name, (GuildStatus)memb.Rank)).ToList();
            }
            Type = guildDto.GuildType;
        }
Esempio n. 6
0
        public Guild(string name, byte[] mark, byte type)
        {
            Members = new List <GuildMember>();
            Name    = name;
            Mark    = mark;

            using (var game = new GameContext())
            {
                var guild = new GuildDto
                {
                    Name      = name,
                    Mark      = mark,
                    GuildType = type,
                };
                game.Add(guild);
                game.SaveChanges();

                Index = guild.GuildId;
            }
        }
        public async Task SynchroniseGuilds()
        {
            var failedGuilds = new List <string>();

            foreach (var guild in _client.Guilds)
            {
                var dto = new GuildDto {
                    GuildID = guild.Id
                };
                var payload = _discordPayloadFactory.CreateDiscordObjectPayload <GuildAPIPayload>(dto);

                var result = await _apiService.PostAsync(payload);

                if (!result.IsSuccessStatusCode)
                {
                    failedGuilds.Add(guild.Name);
                }
            }

            if (failedGuilds.Count > 0)
            {
                await _ownerLogger.LogError("0005", failedGuilds.ToString());
            }
        }
Esempio n. 8
0
 public GuildAPIPayload(GuildDto guild)
 {
     _guild = guild;
 }