private void ExportStateCalculateExports()
        {
            var exportItemsUnadjusted = MarketOrderManager.CalculateExportItems(m_dicFilteredOriginOrders, m_dicFilteredDestinationOrders);

            m_vExportItems = MarketOrderManager.CorrectQuantityAvailable(exportItemsUnadjusted);
            m_eExportState = ExportState.GET_TYPEINFO;
        }
        private void ExportStatePrintResults()
        {
            var finalResults = MarketOrderManager.CalculateProfitWithShippingCost(m_vExportItems, m_dicItemDictionary);

            finalResults.Sort(delegate(MarketOrder c1, MarketOrder c2) { return(c1.profit.CompareTo(c2.profit)); });
            string header = m_strOriginStation + " -> " + m_strDestinationStation + ": ";

            m_vCurrentResultIDs.Clear();
            foreach (var item in finalResults)
            {
                m_vCurrentResultIDs.Add(item.type_id);
                if (m_vPreviousResultIDs.Contains(item.type_id))
                {
                    Console.WriteLine(header + m_dicItemDictionary[item.type_id].name + " - Profit: " + (item.profit / 1000000) + "mil - Item Volume: " + m_dicItemDictionary[item.type_id].packaged_volume + " - Export Quantity: " + item.exportQuantity);
                }
                else
                {
                    string newHeader = "*NEW* " + header;
                    Console.WriteLine(newHeader + m_dicItemDictionary[item.type_id].name + " - Profit: " + (item.profit / 1000000) + "mil - Item Volume: " + m_dicItemDictionary[item.type_id].packaged_volume + " - Export Quantity: " + item.exportQuantity);
                    m_vPreviousResultIDs.Add(item.type_id);
                    Console.Beep();
                }
            }

            m_vPreviousResultIDs.RemoveAll(item => !m_vCurrentResultIDs.Contains(item));

            m_eExportState = ExportState.WAIT_TIMER;
        }
        private void ExportStateFilterOrders()
        {
            m_dicFilteredOriginOrders      = MarketOrderManager.GetBestPriceMapping(m_vOriginStationOrders, false);
            m_dicFilteredDestinationOrders = MarketOrderManager.GetBestPriceMapping(m_vDestinationStationOrders, true);

            m_eExportState = ExportState.CALCULATE_EXPORTS;

            // free up memory
            m_vOriginStationOrders.Clear();
            m_vDestinationStationOrders.Clear();
        }