Esempio n. 1
0
        public PrintersConfigurationViewModel(
            IServiceProvider serviceProvider,
            IPrinterConfigurationManagerService printerConfigurationManagerService)
        {
            _serviceProvider = serviceProvider;
            PrinterConfigurationManagerService = printerConfigurationManagerService;
            ValidationContext = new ValidationContext();

            Add    = ReactiveCommand.Create(new Action(OnAdd));
            Remove = ReactiveCommand.Create(new Action(OnRemove));
            Clear  = ReactiveCommand.Create(new Action(OnClear));
            Save   = ReactiveCommand.Create(new Action(OnSave), this.IsValid());
            Cancel = ReactiveCommand.Create(new Action(OnCancel));
        }
        public MainWindowViewModel(
            IServiceProvider serviceProvider,
            IPrinterConfigurationManagerService printerConfigurationManagerService,
            IPrinterControllerService printerControllerService,
            ICommandValidatorService commandValidator,
            ICommandsDefinitionLoaderService commandsDefinitionLoaderService)
        {
            _serviceProvider                   = serviceProvider;
            _printerControllerService          = printerControllerService;
            PrinterConfigurationManagerService = printerConfigurationManagerService;
            _commandValidator                  = commandValidator;
            _commandsDefinitionLoaderService   = commandsDefinitionLoaderService;
            ValidationContext                  = new ValidationContext();
            CommandHistory = new List <string>();

            printerControllerService.ReceivedData += PrinterControllerService_ReceivedData;

            ConfigurePrinters = ReactiveCommand.Create(new Action(OnConfigurePrinters));
            ConnectToggle     = ReactiveCommand.Create(new Action(OnConnectToggle));
            Packets           = new ObservableCollection <PrinterPacket>();
            Send            = ReactiveCommand.Create(new Action(OnSend));
            PreviousCommand = ReactiveCommand.Create(new Action(OnPreviousCommand));
            NextCommand     = ReactiveCommand.Create(new Action(OnNextCommand));
        }