public MultiplePrintOperation(IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices,
                               IUserPrintingRepository userPrintingRepository)
 {
     _unitOfWorkFactory      = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
     _commonServices         = commonServices ?? throw new ArgumentNullException(nameof(commonServices));
     _userPrintingRepository = userPrintingRepository ?? throw new ArgumentNullException(nameof(userPrintingRepository));
 }
        public SelectablePrintersViewModel(INavigationManager navigation, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices, IUserPrintingRepository userPrintingRepository) : base(navigation)
        {
            _uow = (unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory))).CreateWithoutRoot();

            _user = commonServices.UserService.GetCurrentUser(_uow);

            _savedUserPrinterList = userPrintingRepository.GetUserSelectedPrinters(_uow, _user.Id);

            UserPrintSettings = userPrintingRepository.GetUserPrintSettings(_uow, _user.Id) ?? new UserPrintSettings
            {
                User = _user
            };

            AllPrintersWithSelected = GeneratePrinterList(_savedUserPrinterList);
        }