Example #1
0
        /**
         * includes demandToProviderGraph, OrderOperationGraph and dbTransactionData
         * forcePrint: force printing even if in performanceMode
         */
        public static void PrintStateToFiles(SimulationInterval simulationInterval,
                                             IDbTransactionData dbTransactionData, string stageName, bool includeOrderOperationGraph,
                                             bool forcePrint = false)
        {
            if (Constants.IsWindows == false || ZppConfiguration.IsInPerformanceMode)
            {
                // skip this in the cloud/IsInPerformanceMode
                if (forcePrint == false)
                {
                    return;
                }
            }

            CleanupOldFiles();

            WriteToFile(
                $"{SimulationFolder}dbTransactionData_interval_{simulationInterval.StartAt}_{stageName}.txt",
                dbTransactionData.ToString());
            WriteToFile(
                $"{SimulationFolder}dbTransactionDataArchive_interval_{simulationInterval.StartAt}_{stageName}.txt",
                ZppConfiguration.CacheManager.GetDbTransactionDataArchive().ToString());
            DemandToProviderGraph demandToProviderGraph = new DemandToProviderGraph();

            WriteToFile(
                $"{SimulationFolder}demandToProviderGraph_interval_{simulationInterval.StartAt}_{stageName}.txt",
                demandToProviderGraph.ToString());
            if (includeOrderOperationGraph)
            {
                OrderOperationGraph orderOperationGraph = new OrderOperationGraph();
                WriteToFile(
                    $"orderOperationGraph_interval_{simulationInterval.StartAt}_{stageName}.log",
                    orderOperationGraph.ToString());
            }
        }