public BurningViewModelFactory(IBurningReceiptsCatalog BurningReceiptsCatalog, IIndexHelper IndexHelper, IExceptionService ExceptionService,
                                IBurningService BurningService, IEventAggregator EventAggregator, ISettingsService SettingsService,
                                BurningStatusViewModel BurningStatus)
 {
     _indexHelper = IndexHelper;
     _burningService = BurningService;
     _eventAggregator = EventAggregator;
     _settingsService = SettingsService;
     _burningStatus = BurningStatus;
 }
        public BurningViewModelController(BurningViewModel ViewModel, int CellKindId, IEventAggregator EventAggregator, ISettingsService SettingsService,
                                          IValidationContext ValidationContext, IProjectAssembler ProjectAssembler, IBurningService BurningService)
        {
            _viewModel = ViewModel;
            _settingsService = SettingsService;
            _validationContext = ValidationContext;
            _projectAssembler = ProjectAssembler;
            _burningService = BurningService;
            _cellKindId = CellKindId;
            _viewModel.SelectedBurningMethodChanged += ViewModelOnSelectedBurningMethodChanged;

            foreach (BurningOptionViewModel burningOption in _viewModel.BurningOptions)
                burningOption.Activated += BurningOptionOnActivated;

            string preferredBurningMethod = _settingsService.GetPreferredBurningMethod(CellKindId);
            _viewModel.SelectedBurningMethod =
                _viewModel.BurningMethods.FirstOrDefault(m => m.Name == preferredBurningMethod)
                ?? _viewModel.BurningMethods.FirstOrDefault();
            EventAggregator.GetEvent<ProjectChangedEvent>().Subscribe(OnProjectChanged);
        }