Пример #1
0
        public LedgerService(
            [NotNull] ILedgerBookRepository ledgerRepository,
            [NotNull] IAccountTypeRepository accountTypeRepository,
            [NotNull] ILedgerBucketFactory ledgerBucketFactory,
            [NotNull] MonitorableDependencies monitorableDependencies)
        {
            if (ledgerRepository == null)
            {
                throw new ArgumentNullException(nameof(ledgerRepository));
            }

            if (accountTypeRepository == null)
            {
                throw new ArgumentNullException(nameof(accountTypeRepository));
            }

            if (ledgerBucketFactory == null)
            {
                throw new ArgumentNullException(nameof(ledgerBucketFactory));
            }

            if (monitorableDependencies == null)
            {
                throw new ArgumentNullException(nameof(monitorableDependencies));
            }

            this.ledgerRepository        = ledgerRepository;
            this.accountTypeRepository   = accountTypeRepository;
            this.ledgerBucketFactory     = ledgerBucketFactory;
            this.monitorableDependencies = monitorableDependencies;
        }
        public LedgerBookControllerFileOperations(
            [NotNull] UiContext uiContext,
            [NotNull] IMessenger messenger,
            [NotNull] ILedgerBookRepository ledgerBookRepository,
            [NotNull] DemoFileHelper demoFileHelper)
        {
            if (uiContext == null)
            {
                throw new ArgumentNullException("uiContext");
            }

            if (messenger == null)
            {
                throw new ArgumentNullException("messenger");
            }

            if (ledgerBookRepository == null)
            {
                throw new ArgumentNullException("ledgerBookRepository");
            }

            if (demoFileHelper == null)
            {
                throw new ArgumentNullException("demoFileHelper");
            }

            this.saveFileDialogFactory = uiContext.UserPrompts.SaveFileFactory;
            this.openFileDialogFactory = uiContext.UserPrompts.OpenFileFactory;
            this.questionBox = uiContext.UserPrompts.YesNoBox;
            this.messageBox = uiContext.UserPrompts.MessageBox;

            this.waitCursorFactory = uiContext.WaitCursorFactory;
            this.ledgerRepository = ledgerBookRepository;
            this.demoFileHelper = demoFileHelper;
            MessengerInstance = messenger;

            ViewModel = new LedgerBookViewModel();
        }