Esempio n. 1
0
        public MainWindow()
        {
            InitializeComponent();

            var path   = $@"C:\Users\Ihor\Documents\visual studio 2015\Projects\Drones\Drones\{busyDay}.in";
            var reader = new FileOperations(path);

            _dataModel = reader.ReadFileAsync();
            DrawGrid(_dataModel.GeneralInfo.Columns, _dataModel.GeneralInfo.Rows, gridCellSize);
            DrawObjects(_dataModel.Warehouses, Brushes.Green, 3, gridCellSize);
            DrawObjects(_dataModel.Orders, Brushes.Yellow, 1, gridCellSize);
            _ordersProcessor = new OrdersProcessor(_dataModel);
            _simpleSeries    = new ObservableCollection <DataPoint>();
            _improvedSeries  = new ObservableCollection <DataPoint>();
            _bestSeries      = new ObservableCollection <DataPoint>();
            InitializeCharts();

            SubscribeToEvents(_ordersProcessor);
            //_ordersProcessor.onDronesChanged += (drones) =>
            //{
            //    Dispatcher.Invoke((Action)delegate { RedrawDrones(drones); });
            //};

            //_ordersProcessor.onOrdersChanged += (orders) =>
            //{
            //    Dispatcher.Invoke((Action)delegate { RefreshOrders(orders); });
            //};
            //_ordersProcessor.onOrdersCountChanged += (ordersCount, iteration) =>
            //{
            //    Dispatcher.Invoke((Action)delegate { AddPointToChart(ordersCount, iteration); });
            //};
        }
Esempio n. 2
0
 private void InitializeProcessors()
 {
     _processorsManager.RegisterProcessor(new ContractsProcessor(Client, "ES"), cbContract);
     _priceProcessor     = _processorsManager.RegisterProcessor(new PriceProcessor(Client), lbPrice);
     _ordersProcessor    = _processorsManager.RegisterProcessor(new OrdersProcessor(Client), lbOrders);
     _positionsProcessor = _processorsManager.RegisterProcessor(new PositionsProcessor(Client), lbPositions);
 }
Esempio n. 3
0
        public ActionResult <OrderRequestDTO> RespondOrder(OrderAcceptanceResponse orderAcceptance)
        {
            var response = new OrderRequestDTO();

            var dbOrder = Orders.Where(o => o.Id == orderAcceptance.OrderId).FirstOrDefault();

            if (dbOrder != null)
            {
                if (orderAcceptance.AcceptOrder)
                {
                    dbOrder.Status = OrderStatus.Requested;
                    dbOrder.Links.AddRange(orderAcceptance.Links);
                    //chamar api lojista com status novo

                    var processor = new OrdersProcessor();
                    processor.Notify(dbOrder);
                }
                else
                {
                    dbOrder.Status = OrderStatus.Rejected;
                }

                return(Ok());
            }
            else
            {
                return(NotFound());
            }
        }
Esempio n. 4
0
 private void SubscribeToEvents(OrdersProcessor processor)
 {
     processor.onDronesChanged += (drones) =>
     {
         Dispatcher.Invoke((Action) delegate { RedrawDrones(drones); });
     };
     processor.onOrdersCountChanged += (ordersCount, iteration) =>
     {
         Dispatcher.Invoke((Action) delegate { AddPointToChart(_simpleSeries, ordersCount, iteration); });
     };
     processor.onSimulationFinished += (time) =>
     {
         Dispatcher.Invoke((Action) delegate { ShowMessageBox(time); });
     };
     processor.onOrdersCountChangedImproved += (ordersCount, iteration) =>
     {
         Dispatcher.Invoke((Action) delegate { AddPointToChart(_improvedSeries, ordersCount, iteration); });
     };
     processor.onOrdersCountChangedBest += (ordersCount, iteration) =>
     {
         Dispatcher.Invoke((Action) delegate { AddPointToChart(_bestSeries, ordersCount, iteration); });
     };
 }
Esempio n. 5
0
        static void Main(string[] args)
        {
                        #if RELEASE
            try
            {
                        #endif
            string data_file      = Path.Combine(Directory.GetCurrentDirectory(), "data.xml");
            string turn_dir       = Directory.GetCurrentDirectory();
            string order_to_check = null;

            for (int i = 0; i < args.Length - 1; i++)
            {
                if (args[i] == "/data")
                {
                    data_file = args[i + 1];
                }
                else if (args[i] == "/turn-dir")
                {
                    turn_dir = args[i + 1];
                }
                else if (args[i] == "/check")
                {
                    order_to_check = args[i + 1];
                }
            }

            Console.WriteLine("Wasteland " + EngineVersion);
            Console.WriteLine("");
            Console.WriteLine("Loading data file");
            DataFile.LoadData(data_file);
            Console.WriteLine("Loading game");
            DataFile.LoadGame(turn_dir);

            if (order_to_check == null)
            {
                Console.WriteLine("Processing requests");
                Request.Load(turn_dir);
                Console.WriteLine("Loading orders");
                OrdersReader.Load(turn_dir);
                Console.WriteLine("Processing orders");
                OrdersProcessor.Process();
                Console.WriteLine("Generating reports");
                Report.Generate(turn_dir);
                Console.WriteLine("Saving game");
                DataFile.SaveGame(turn_dir);
            }
            else
            {
                Console.Write("Checking order");
                OrdersReader.Load(order_to_check, true);
            }
                        #if RELEASE
        }

        catch (Exception ex)
        {
            TextWriter tw = new StreamWriter("error.log", true, System.Text.Encoding.GetEncoding(1251));
            tw.WriteLine(ex.Message);
            tw.WriteLine(ex.StackTrace);
            tw.WriteLine();
            tw.Close();
            Environment.ExitCode = 1;
        }
                        #endif
        }
Esempio n. 6
0
        public void Test()
        {
            var processor = new OrdersProcessor();

            processor.RequestProducts();
        }