using Core; using Core.Events; using Core.Interfaces; using Core.Process; using Core.SpecConfig; using Generator.Services; using Generator.views; namespace Generator.Controllers; public class PreGenerationController : IController { private readonly PreGenerationService _preGenService; private readonly ConsoleView _view; public DisplayEmitter Emitter { get; set; } public PreGenerationController(DisplayEmitter emitter, PreGenerationService preGenService) { _view = new ConsoleView(); _preGenService = preGenService; Emitter = emitter; } public GenerationProcess ComputeGeneration(string specPath, GenerationType? generationType, PublishType publishType) { try { return _preGenService.ComputeGeneration(specPath, generationType, publishType); } catch (Exception e) { Emitter.Warn(this, e.Message); throw; } } }