Пример #1
0
        private async Task Search(bool useMirror)
        {
            var mirror = "Mirror of Kalandra";
            var exalt  = "Exalted Orb";

            var search = await _exileEngine.SearchAsync(SelectedLeague, new POESearchPayload
            {
                Sort = new POESearchSort
                {
                    StackSize = EPOESort.Desc
                },
                Query = { Type = useMirror ? mirror : exalt, Status = { Option = SelectedOnline } }
            });

            if (search == null)
            {
                return;
            }

            foreach (var ids in search.Result.Take(50).Chunk(10))
            {
                var fetch = await _exileEngine.FetchAsync(ids);

                if (fetch == null)
                {
                    break;
                }

                foreach (var sr in fetch.Result)
                {
                    var item = Items.FirstOrDefault(f => f.Account.Name == sr.Listing.Account.Name);

                    if (item == null)
                    {
                        item = new MoneywayItem(sr.Listing.Account, sr.Item.League);
                        Items.Add(item);
                    }

                    if (sr.Item.TypeLine == mirror)
                    {
                        item.MirrorCount += sr.Item.StackSize;
                    }
                    else if (sr.Item.TypeLine == exalt)
                    {
                        item.ExaltCount += sr.Item.StackSize;
                    }
                }

                await Task.Delay(1000);
            }
        }
Пример #2
0
 public void Inspect(MoneywayItem item)
 {
     EventAggregator.Publish(new InspectEvent(item.Account.Name, item.League));
 }