public Clan GetClan(string tag = null) { tag = (tag == null) ? Config.ClanTag : (!tag.StartsWith("#")) ? $"#{tag}" : tag; using (var client = new CRClient(_uriBaseUrl, _credentials)) { return(client.GetClan(tag)); } }
public List <CardStat> GetCardsWinByPlayerIntoClan(int startTrophes, int?locationId = null) { var result = new List <CardStat>(); try { var cardwins = new List <CardStat>(); var clans = GetClansRank(startTrophes, locationId); using (var client = new CRClient(_uriBaseUrl, _credentials)) { foreach (var clan in clans) { if (DemandStopping) { break; } var clanDetail = client.GetClan(clan.Tag); var cardwin = InternalGetCardWin(clanDetail.MemberList.Cast <PlayerBase>().ToList()); cardwins.AddRange(cardwin); } } result = cardwins.GroupBy(p => p.Name).Select(p => new CardStat { Name = p.First().Name, Count = p.Sum(c => c.Count), Url = p.First().Url }).OrderByDescending(p => p.Count).ToList(); var posi = 0; var lastusage = int.MaxValue; foreach (var card in result) { if (card.Count != lastusage) { posi++; lastusage = card.Count; } card.Rank = posi; } } catch (Exception ex) { Logger?.Error(ex); } finally { DemandStopping = false; } return(result); }