public void GetCorpMarketOrdersTest() { MarketOrders marketOrder = EveApi.GetMarketOrderList(MarketOrdersListType.Corporation, 432435, 346, "apiKey"); Assert.AreEqual(9, marketOrder.MarketOrderItems.Length); Assert.AreEqual(150208955, marketOrder.MarketOrderItems[0].CharId); Assert.AreEqual(60010783, marketOrder.MarketOrderItems[0].StationId); Assert.AreEqual(325.00, marketOrder.MarketOrderItems[0].Price); }
public static void MarketOrdersExample() { MarketOrders orders = EveApi.GetMarketOrderList(MarketOrdersListType.Character, 0, 0, "fullApiKey"); foreach (MarketOrders.MarketOrderItem item in orders.MarketOrderItems) { if (item.OrderType == MarketOrders.MarketOrderType.Sell && item.TypeId == 123) { Console.WriteLine("Item 123 is for sale at: {0}", item.StationId); } } }
public async Task <MarketOrders> GetMarketOrdersData(string coinSymbol) { MarketOrders marketData = null; using (var client = new HttpClient()) { var json = await client.GetStringAsync(string.Format(GetMarketOrdersURL, coinSymbol)); var requestData = JsonConvert.DeserializeObject <RequestDataMarketOrders>(json); marketData = requestData.MarketOrdersData; } return(marketData); }
public void MarketOrderPersist() { ResponseCache.Clear(); MarketOrders marketOrder = EveApi.GetMarketOrderList(MarketOrdersListType.Corporation, 432435, 346, "apiKey"); ResponseCache.Save("ResponseCache.xml"); ResponseCache.Clear(); ResponseCache.Load("ResponseCache.xml"); MarketOrders cachedmarketOrder = EveApi.GetMarketOrderList(MarketOrdersListType.Corporation, 432435, 346, "apiKey"); Assert.AreEqual(marketOrder.CachedUntilLocal, cachedmarketOrder.CachedUntilLocal); for (int i = 0; i < marketOrder.MarketOrderItems.Length; i++) { Assert.AreEqual(marketOrder.MarketOrderItems[i].AccountKey, cachedmarketOrder.MarketOrderItems[i].AccountKey); Assert.AreEqual(marketOrder.MarketOrderItems[i].CharId, cachedmarketOrder.MarketOrderItems[i].CharId); Assert.AreEqual(marketOrder.MarketOrderItems[i].MinVolume, cachedmarketOrder.MarketOrderItems[i].MinVolume); } }
public async Task <int> UpdateMarketOrdersAsync() { MarketOrders result = await _eveApiService.GetMarketOrdersAsync(ApplicationHelper.ActiveEntity.ApiKeys.First(), ApplicationHelper.ActiveEntity) .ConfigureAwait(false); long minOrderId = result.Orders.Any() ? result.Orders.MinBy(order => order.OrderId).OrderId : 0; using (EveProfiteerRepository db = CreateDb()) { db.Context.Configuration.ValidateOnSaveEnabled = false; db.Context.Configuration.AutoDetectChangesEnabled = false; List <MarketOrders.MarketOrder> newOrders = result.Orders.ToList(); List <MarketOrder> orders = await db.MyMarketOrders() .Where(order => order.OrderId >= minOrderId || order.OrderState == OrderState.Open) .ToListAsync() .ConfigureAwait(false); ILookup <long, MarketOrders.MarketOrder> resultLookup = result.Orders.ToLookup(f => f.OrderId); foreach (MarketOrder order in orders) { MarketOrders.MarketOrder marketOrder = resultLookup[order.OrderId].SingleOrDefault(); if (marketOrder != null) { ApiEntityMapper.Map(marketOrder, order); newOrders.Remove(marketOrder); } else if (order.OrderState == OrderState.Open) { order.Escrow = 0; if (order.Duration < DateTime.UtcNow.Subtract(order.Issued).Days) { order.OrderState = OrderState.Expired; } else { order.OrderState = OrderState.Closed; } } } foreach (MarketOrders.MarketOrder marketOrder in newOrders) { MarketOrder order = db.Context.MarketOrders.Create(); ApiEntityMapper.Map(marketOrder, order); db.Context.MarketOrders.Add(order); } List <Asset> assets = await db.Context.Assets.ToListAsync().ConfigureAwait(false); foreach (Asset asset in assets) { List <MarketOrders.MarketOrder> order = result.Orders.Where( e => e.TypeId == asset.InvTypes_TypeId && e.StationId == asset.StationId && e.OrderState == 0 && e.Bid == 0 && e.VolumeRemaining != 0) .ToList(); asset.MarketQuantity = order.Any() ? order.Sum(e => e.VolumeRemaining) : 0; } db.Context.ChangeTracker.DetectChanges(); return(await db.Context.SaveChangesAsync().ConfigureAwait(false)); } }