public IActionResult ExportSolution(Guid id) { string file = string.Empty; _solutionExporter.Export(id, out file); var fileName = System.IO.Path.GetFileName(file); return(PhysicalFile(file, "application/zip", fileName)); }
//Используя переданные ITaskDataProvider, ISolutionExporter, решить задачу и вывести результат. static void SolveTasks(ITaskDataProvider taskDataProvider, ISolutionExporter solutionExporter) { //Пока в ITaskDataProvider есть входные данные while (taskDataProvider.HasNextTaskData()) { //Получить входные данные. Tuple <ITransportNetwork, IEnumerable <IRoute> > taskData = taskDataProvider.GetTaskData(); ITransportNetwork transportNetwork = taskData.Item1; IEnumerable <IRoute> routes = taskData.Item2; //Найти столкновения на станциях. IEnumerable <CollisionAtStationCase> collisionAtStationCases = CollisionsFinder.FindCollisionsAtStations(transportNetwork, routes); //Найти столкновения на путях. IEnumerable <CollisionOnConnectionBetweenStationsCase> collisionOnConnectionBetweenStationsCases = CollisionsFinder.FindCollisionsOnConnectionsBetweenStations(transportNetwork, routes); //Передать результаты решения ISolutionExporter. solutionExporter.Export(transportNetwork, routes, collisionAtStationCases, collisionOnConnectionBetweenStationsCases); } }