public MainWindowViewModel(IMessageService messageService, ISolutionGeneratorService solutionGeneratorService, IProcessService processService) { Argument.IsNotNull(() => messageService); Argument.IsNotNull(() => solutionGeneratorService); Argument.IsNotNull(() => processService); _messageService = messageService; _solutionGeneratorService = solutionGeneratorService; _processService = processService; Generate = new Command(OnGenerateExecute, OnGenerateCanExecute); Solution = new Solution(); }