예제 #1
0
        public void ExportOrders(string path, IEnumerable <Order> enumerable)
        {
            var orders = enumerable as IList <Order> ?? enumerable.ToList();

            OrderInstallerIoService.WriteBuyOrders(path + Path.DirectorySeparatorChar + BuyOrdersFileName,
                                                   ToBuyOrderCollection(orders));
            OrderInstallerIoService.WriteSellOrders(path + Path.DirectorySeparatorChar + SellOrdersFileName,
                                                    ToSellOrderCollection(orders));
        }
예제 #2
0
        public ICollection <Order> ImportOrders(string path)
        {
            var orders = new List <Order>();

            try {
                BuyOrderCollection buyOrders =
                    OrderInstallerIoService.ReadBuyOrders(path + Path.DirectorySeparatorChar + BuyOrdersFileName);
                SellOrderCollection sellOrders =
                    OrderInstallerIoService.ReadSellOrders(path + Path.DirectorySeparatorChar + SellOrdersFileName);
                ILookup <int, SellOrder> sellOrderLookup = sellOrders.ToLookup(f => f.TypeId);
                foreach (BuyOrder buyOrder in buyOrders)
                {
                    SellOrder sellOrder = sellOrderLookup[buyOrder.ItemId].SingleOrDefault();
                    sellOrders.Remove(sellOrder);
                    orders.Add(CreateOrder(buyOrder, sellOrder));
                }
                foreach (SellOrder sellOrder in sellOrders)
                {
                    orders.Add(CreateOrder(null, sellOrder));
                }
            } catch (FileNotFoundException) {
            }
            return(orders);
        }