Exemplo n.º 1
0
        public async Task <EmdItemPrices> GetItemPricesAsync(int regionId, int stationId, IEnumerable <int> types)
        {
            var prices = new EmdItemPrices();

            prices.Prices = new EveMarketDataRowCollection <EmdItemPrices.ItemPriceEntry>();
            var options = new EveMarketDataOptions();

            if (stationId > 0)
            {
                options.Stations.Add(stationId);
            }
            else if (regionId > 0)
            {
                options.Regions.Add(regionId);
            }
            foreach (int typeId in types)
            {
                options.Items.Add(typeId);
                if (options.Items.Count >= 1000)
                {
                    var result = (await _eveMarketData.GetItemPriceAsync(options, OrderType.Both).ConfigureAwait(false)).Result;
                    result.Prices.Apply(item => prices.Prices.Add(item));
                    options.Items.Clear();
                }
            }
            var finalResult = (await _eveMarketData.GetItemPriceAsync(options, OrderType.Both).ConfigureAwait(false)).Result;

            finalResult.Prices.Apply(item => prices.Prices.Add(item));
            return(prices);
        }
Exemplo n.º 2
0
        public async Task <EveMarketDataResponse <EmdItemOrders> > GetItemOrderAsync(int region, int invType)
        {
            var options = new EveMarketDataOptions();

            options.Items.Add(invType);
            options.Regions.Add(region);
            return(await _eveMarketData.GetItemOrdersAsync(options, OrderType.Both).ConfigureAwait(false));
        }
Exemplo n.º 3
0
 public EveMarketData_Tests()
 {
     api          = EveLib.Create().EveMarketData;
     validOptions = new EveMarketDataOptions();
     validOptions.Items.Add(TypeId);
     validOptions.Regions.Add(RegionId);
     validOptions.AgeSpan = TimeSpan.FromDays(5);
     invalidOptions       = new EveMarketDataOptions();
 }
Exemplo n.º 4
0
        public static void Main(string[] args)
        {
            EveMarketData api = Create().EveMarketData;

            api.SetMode(Format.Json);
            api.RequestHandler.Serializer = new JsonSerializer();
            var options = new EveMarketDataOptions();

            options.Items.Add(34);
            options.Regions.Add(10000002);
            var res = api.GetItemOrders(options, OrderType.Buy);
        }
Exemplo n.º 5
0
        public async Task <EmdItemOrders> GetItemOrdersAsync(int region, IEnumerable <int> invTypes)
        {
            var options = new EveMarketDataOptions();
            var orders  = new EmdItemOrders();

            options.Regions.Add(region);
            foreach (var item in invTypes)
            {
                options.Items.Add(item);
                if (options.Items.Count >= 1000)
                {
                    var result = (await _eveMarketData.GetItemOrdersAsync(options, OrderType.Both).ConfigureAwait(false)).Result;
                    result.Orders.Apply(order => orders.Orders.Add(order));
                    options.Items.Clear();
                }
            }
            var finalResult = (await _eveMarketData.GetItemOrdersAsync(options, OrderType.Both).ConfigureAwait(false)).Result;

            finalResult.Orders.Apply(order => orders.Orders.Add(order));
            return(orders);
        }
Exemplo n.º 6
0
        private async Task <IEnumerable <MarketHistoryEntry> > getEmdItemHistoryAsync(int region, IEnumerable <int> types, int dayLimit)
        {
            var history = new List <EmdItemHistory.ItemHistoryEntry>();
            var options = new EveMarketDataOptions();

            options.AgeSpan = TimeSpan.FromDays(dayLimit);
            options.Regions.Add(region);
            foreach (int typeId in types)
            {
                options.Items.Add(typeId);
                if (options.Items.Count * dayLimit >= 9900)
                {
                    var result = (await _eveMarketData.GetItemHistoryAsync(options).ConfigureAwait(false)).Result;
                    history.AddRange(result.History);
                    options.Items.Clear();
                }
            }
            var finalResult = (await _eveMarketData.GetItemHistoryAsync(options).ConfigureAwait(false)).Result;

            history.AddRange(finalResult.History);
            return(history.Select(MarketHistoryEntry.Create));
        }